PHP ist eine leistungsstarke Programmiersprache, die häufig zur Entwicklung von Webanwendungen verwendet wird. Bei der Entwicklung von Webanwendungen über PHP müssen wir uns häufig mit mehrdimensionalen Arrays befassen. Ein mehrdimensionales Array ist ein Array, das ein anderes Array enthält. Diese Arrays können auf mehreren Ebenen zu einer komplexen Struktur verschachtelt werden. Die Abfrage solcher mehrdimensionaler Arrays ist für Entwickler zu einem Problem geworden.
PHP bietet einige integrierte Funktionen zur Verarbeitung mehrdimensionaler Arrays, darunter array_search(), array_key_exists(), in_array(), array_walk_recursive() usw. In diesem Artikel werden einige dieser Funktionen vorgestellt, die Ihnen dabei helfen, mehrdimensionale Arrays einfach abzufragen.
1. Funktion array_search()
Funktion array_search() wird verwendet, um das angegebene Element im Array zu finden und seinen Schlüsselnamen zurückzugeben. Wenn das Array mehrere Übereinstimmungen enthält, wird der Schlüssel der ersten Übereinstimmung zurückgegeben. Wenn es keine Übereinstimmung gibt, geben Sie false zurück.
Hier ist die Syntax der Funktion array_search():
array_search(search_value, array, strict)
wobei search_value der zu findende Wert, array das zu durchsuchende Array und strict ein optionaler boolescher Wert für Specify ist ob bei der Suche eine Typübereinstimmung erforderlich ist. Wenn es auf „true“ gesetzt ist, werden die Schlüsselnamen von Elementen mit demselben Typ und gleichen Werten wie „search_value“ zurückgegeben. Wenn es auf „false“ gesetzt ist oder nicht, werden nur die Schlüsselnamen von Elementen mit gleichen Werten zurückgegeben.
Hier ist ein Beispielcode:
$students = [ ['name' => '张三', 'age' => 20, 'gender' => '男'], ['name' => '李四', 'age' => 18, 'gender' => '女'], ['name' => '王五', 'age' => 22, 'gender' => '男'] ]; // 查询名为'李四'的学生的索引 $index = array_search('李四', array_column($students, 'name')); echo "李四的索引是:" . $index;
In diesem Beispiel verwenden wir die Funktionen array_search() und array_column(). Die Funktion array_column() wird verwendet, um ein neues Array zurückzugeben, das die Werte der angegebenen Spalte enthält. In diesem Beispiel geben wir die Namensspalte aller Schüler zurück, fragen dann den Index des Elements mit dem Namen „李思“ in diesem Array ab und drucken ihn aus.
2. Funktion array_key_exists()
Funktion array_key_exists() wird verwendet, um zu bestimmen, ob ein angegebener Schlüsselname im Array vorhanden ist. Gibt true zurück, wenn vorhanden, andernfalls false. Die Syntax dieser Funktion lautet wie folgt:
array_key_exists(key, array)
wobei key der zu findende Schlüsselname und array das zu durchsuchende Array ist.
Das Folgende ist ein Beispielcode:
$students = [ '张三' => ['age' => 20, 'gender' => '男'], '李四' => ['age' => 18, 'gender' => '女'], '王五' => ['age' => 22, 'gender' => '男'] ]; // 判断'李四'是否存在 if (array_key_exists('李四', $students)) { echo "存在名为'李四'的学生"; } else { echo "不存在名为'李四'的学生"; }
In diesem Beispiel verwenden wir die Funktion array_key_exists(), um zu bestimmen, ob ein Schlüsselname im Array vorhanden ist. Wenn der eingegebene Schlüsselname „李思“ im Array vorhanden ist, wird „Es gibt einen Schüler namens „李思““ zurückgegeben, andernfalls wird „Es gibt keinen Schüler namens „李思““ zurückgegeben.
3. Funktion in_array()
in_array() wird verwendet, um zu bestimmen, ob ein angegebener Wert im Array vorhanden ist. Gibt true zurück, wenn vorhanden, andernfalls false. Die Syntax dieser Funktion lautet wie folgt:
in_array(needle, haystack, strict)
wobei Needle der zu findende Wert, haystack das zu durchsuchende Array und strict ein optionaler boolescher Wert ist, der angibt, ob dies der Fall ist Während der Suche erforderlich. Typübereinstimmung. Wenn es auf „true“ gesetzt ist, werden Elemente mit demselben Typ und gleichen Werten wie die Nadel zurückgegeben. Wenn es auf „false“ gesetzt ist oder nicht, werden nur Elemente mit gleichen Werten zurückgegeben.
Das Folgende ist ein Beispielcode:
$fruits = ['apple', 'banana', 'orange']; // 判断是否存在'banana' if (in_array('banana', $fruits)) { echo "存在'banana'这个水果"; } else { echo "不存在'banana'这个水果"; }
In diesem Beispiel verwenden wir die Funktion in_array(), um zu bestimmen, ob ein Wert im Array vorhanden ist. Wenn der Eingabewert „Banane“ im Array vorhanden ist, wird „die Frucht ‚Banane‘ existiert“ zurückgegeben, andernfalls „die Frucht ‚Banane‘ existiert nicht“.
4. Funktion array_walk_recursive()
Funktion array_walk_recursive() wird verwendet, um mehrdimensionale Arrays rekursiv zu durchlaufen und die angegebene Rückruffunktion auszuführen. Die Syntax dieser Funktion lautet wie folgt:
array_walk_recursive(array, callback, userdata)
wobei array das mehrdimensionale Array ist, das rekursiv durchlaufen werden soll, callback die auszuführende Callback-Funktion und userdata die optionalen übergebenen Daten sind zur Callback-Funktion.
Das Folgende ist ein Beispielcode:
$students = [ ['name' => '张三', 'grades' => ['math' => 80, 'english' => 85]], ['name' => '李四', 'grades' => ['math' => 90, 'english' => 95]], ['name' => '王五', 'grades' => ['math' => 85, 'english' => 80]] ]; // 计算每个学生的平均分 function calculate_average(&$value, $key, $userdata) { $sum = array_sum($value['grades']); $value['average'] = round($sum / count($value['grades']), 2); } array_walk_recursive($students, 'calculate_average'); print_r($students);
In diesem Beispiel verwenden wir die Funktion array_walk_recursive(), um ein zweidimensionales Array mit den Namen und Noten mehrerer Schüler zu durchlaufen und die durchschnittliche Punktzahl jedes Schülers zu berechnen. In der Rückruffunktion „calcture_average()“ verwenden wir die Funktion „array_sum()“, um die Gesamtpunktzahl aller Probanden zu berechnen und diese durch die Anzahl der Probanden zu dividieren, um die durchschnittliche Punktzahl zu berechnen. Schließlich fügen wir die Berechnungsergebnisse zum Array jedes Schülers hinzu und drucken das gesamte Array mit der Funktion print_r() aus.
Zusammenfassung
Das Abfragen mehrdimensionaler Arrays ist eine häufige Anforderung in der PHP-Entwicklung. In diesem Artikel werden mehrere integrierte Funktionen vorgestellt, darunter array_search(), array_key_exists(), in_array(), array_walk_recursive() usw. Diese Funktionen helfen uns, mehrdimensionale Arrays einfach abzufragen und zu verarbeiten. Ich hoffe, dass die Leser etwas davon haben.
Das obige ist der detaillierte Inhalt vonPHP-Abfrage mehrdimensionales Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!