Es gibt auch eine Funktion in Php array_walk_recursive, mit der Sie alle Elemente des Arrays unabhängig von ihrer Verschachtelung durchlaufen können. Diese Funktion akzeptiert ein Array und eine Callback-Funktion, die auf jedes Element angewendet wird. Hier ist ein Anwendungsbeispiel:
$array = [ ["erstes Element", "zweites Element"], ["drittes Element", "viertes Element"] ]; function printValue($value) < echo $value . " "; >array_walk_recursive($array, "printValue");
Was ist PHP und warum sollte ein Array aus einem Array abgeleitet werden?
In PHP ist ein Array eine Datenstruktur, die mehrere Werte oder andere Arrays enthalten kann. Sehr häufig tritt eine Situation auf, in der Sie den Inhalt eines verschachtelten Arrays auf einer Webseite ausgeben müssen. Dies kann beispielsweise erforderlich sein, wenn Sie eine Liste der Produkte und deren Eigenschaften auf einer Seite anzeigen möchten.
Das Aufrufen eines Arrays aus einem Array kann nützlich sein, wenn Sie die Daten eines mehrdimensionalen Arrays auf Ihrer Website strukturieren und anzeigen müssen. Dies ist besonders nützlich, wenn Sie mit Daten arbeiten, die aus einer Datenbank oder einer API stammen.
1. Verwenden einer Foreach-Schleife:
echo '
';>?>
2. Rekursion verwenden:
else >echo '
';>// Использование функции:$array = array(array('apple', 'banana', 'cherry'),array('orange', 'grapefruit', 'lemon'));printArray($array);?>
Beachten Sie, dass die rekursive Methode die Arbeit mit Arrays beliebiger Tiefe ermöglicht.
Mit diesen Methoden können Sie ein Array einfach und effizient aus einem Array in PHP ableiten. Verwenden Sie die Methode, die Ihren Anforderungen und Ihrer Datenstruktur am besten entspricht. Viel Erfolg bei der Entwicklung!
Verwenden einer Foreach-Schleife
Beispiel für die Verwendung einer Foreach-Schleife :
$fruits = array("яблоко", "груша", "банан", "апельсин");foreach ($fruits as $fruit) ";>
In diesem Beispiel haben wir ein $fruits-Array erstellt, das die Namen verschiedener Früchte enthält. Wir haben dann eine Foreach- Schleife verwendet, um durch jedes Element des Arrays zu gehen und es mit der Echo-Funktion auf den Bildschirm zu bringen.
Ergebnis der Codeausführung:
| Apfel |
| Birne |
| Banane |
| eine Orange |
Wie Sie sehen können, ermöglicht es uns eine foreach-Schleife, die Elemente eines Arrays sehr bequem zu verarbeiten, ohne Indizes zu verwenden.
Verwenden der array_walk_recursive-Funktion
In PHP gibt es eine Funktion array_walk_recursive , mit der Sie ein mehrdimensionales Array umgehen und eine gegebene Funktion auf jeden Wert anwenden können.
| Kode | Ergebnis |
|---|---|
| $array = array('one' => array('two' => array('three' => 'value'))); | array_walk_recursive($array, function(&$value)< $value .= ' modified'; >); |
| print_r($array); |
Wie Sie im Beispiel sehen können, übergibt die Funktion array_walk_recursive jeden Wert eines Arrays als Referenz, sodass Sie den Wert innerhalb der Funktion ändern können. Nachdem die Funktion auf ein mehrdimensionales Array angewendet wurde, werden alle Werte entsprechend der angegebenen Funktion geändert.
Rekursion anwenden
Die Anwendung der Rekursion ermöglicht es uns, ein komplexes Problem zu lösen, indem wir es in kleinere Teilaufgaben aufteilen. Wenn eine Funktion sich selbst aufruft, löst sie einen Teil der Aufgabe und übergibt die Steuerung an den Anfang der Funktion zurück, um den nächsten Teil zu lösen. Dieser Prozess wird fortgesetzt, bis die zugrunde liegende Bedingung erreicht ist, bei der die Funktion aufhört, sich selbst aufzurufen und Ergebnisse zurückgibt.
Die Verwendung von Rekursion in PHP kann die Verarbeitung komplexer Datenstrukturen wie Arrays aus Arrays erheblich vereinfachen. Es ist jedoch wichtig, bei der Verwendung von Rekursion vorsichtig zu sein, um eine Endlosschleife oder einen Aufrufstapel-Überlauf zu vermeiden. Daher ist es wichtig, vor der Verwendung einer rekursiven Funktion sicherzustellen, dass die zugrunde liegenden Bedingungen zum Beenden der Rekursion korrekt definiert und korrekt behandelt werden.
-
Verschachtelte Schleifen verwenden:
$arr = array(array('Apple', 'Banana', 'Orange'),array('Carrot', 'Potato', 'Broccoli'),array('Tomato', 'Cucumber', 'Lettuce'));foreach ($arr as $innerArray)
- '; foreach ($innerArray as $item) < echo '
- ' . $item . '
- '; > echo '
$arr = array(array('Apple', 'Banana', 'Orange'),array('Carrot', 'Potato', 'Broccoli'),array('Tomato', 'Cucumber', 'Lettuce'));function printItem($item) ';>array_walk_recursive($arr, 'printItem');
function printArray($arr)
';>$arr = array(array('Apple', 'Banana', 'Orange'),array('Carrot', 'Potato', 'Broccoli'),array('Tomato', 'Cucumber', 'Lettuce'));printArray($arr);
Для того чтобы вывести массив из массива, можно воспользоваться циклом foreach в PHP.
Возьмем, например, такой многомерный массив:
$fruits = array(array("Яблоко", "Зеленое"),array("Банан", "Желтый"),array("Апельсин", "Оранжевый"));
echo "";foreach ($fruits as $row) ";foreach ($row as $cell) $cell";>echo "";>echo "
";
Dieser Code gibt die folgende Tabelle aus:
| Apfel | Gruenes |
| Banane | Gelb |
| Eine Orange | Orange |
PHP verfügt über eine integrierte Funktion array_walk_recursive, mit der Sie jedes Element eines mehrdimensionalen Arrays durchlaufen können. Diese Funktion ist besonders nützlich, wenn Sie den Inhalt eines komplexen Arrays auf dem Bildschirm anzeigen möchten.
Beispiel für die Verwendung der array_walk_recursive-Funktion:
$users = [['name' => 'Алексей','age' => 25,'email' => '[email protected]'],['name' => 'Анна','age' => 30,'email' => '[email protected]'],['name' => 'Иван','age' => 35,'email' => '[email protected]']];function printUserInfo($item, $key)";>array_walk_recursive($users, 'printUserInfo');
Durch die Ausführung dieses Codes werden Informationen zu jedem Benutzer im $users-Array angezeigt: Name, Alter und E-Mail.