PHP foreach Hilfe - PHP, Schleifen

Ich habe einen Datensatz mit 4 Zeilen.Ich benutze 2 foreach Schleifen, um meine Daten heraus zu bekommen. Die äußere foreach muss einmal Schleife und ich brauche die innere Schleife, um 4x zu schleifen. Gibt es eine Möglichkeit dies zu tun oder muss ich das Array aufteilen?

  foreach($reports as $key=>$val)
{
if($val["rpt_type"] == "Sooa")
{
foreach($val as $foo)
{
echo $foo["name"];
}
}
}

Antworten:

1 für die Antwort № 1

Ich bin mir immer noch nicht sicher, wie Ihre Datenstruktur aussieht. Um einen "rpt_type" verwenden zu können, müsste es in etwa so aussehen:

$reports = array(
0 => array(
"rpt_type" => "...",
...
"rows" => array(
"name" => "...",
...
),
),
1 => ...
);

Sie könnten dann mit:

foreach($reports as $report) {
if($report["rpt_type"] == "Sooa") {
foreach($report["rows"] as $row) {
echo $row["name"];
}
}
}

1 für die Antwort № 2

Überprüfen Sie zuerst den Inhalt Ihrer Variablen $ reports mit der Funktion var_dump von php:

var_dump($reports);

Es wird so etwas drucken:

array(3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
array(3) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[2]=>
string(1) "c"
}
}

Dann können Sie Ihre Schleife implementieren, indem Sie die tatsächlichen Daten betrachten, die Sie haben, auf welche Weise auch immer Ihre gezackten Arrays gebildet werden.