Heim  >  Artikel  >  Backend-Entwicklung  >  So fragen Sie den Wert in einem zweidimensionalen Array in PHP ab

So fragen Sie den Wert in einem zweidimensionalen Array in PHP ab

PHPz
PHPzOriginal
2023-04-18 09:47:422494Durchsuche

PHP ist eine in der Webentwicklung weit verbreitete Programmiersprache und verfügt über leistungsstarke Array-Operationsfunktionen. In PHP sind Arrays einer der wichtigsten und am häufigsten verwendeten Datentypen. Diese Datenstruktur ermöglicht es Entwicklern, eine Reihe verwandter Werte zu speichern und diese Werte daraus abzurufen und zu bearbeiten.

In PHP ist ein zweidimensionales Array ein spezieller Array-Typ, bei dem jedes Array-Element ein Array enthält. Diese Datenstruktur wird häufig zum Speichern von Matrizen, Tabellen und anderen komplexen Datenstrukturen verwendet. Da ein zweidimensionales Array mehrere Arrays enthält, sind bei der Abfrage unterschiedliche Ansätze erforderlich.

In diesem Artikel werden verschiedene Möglichkeiten zum Abfragen von Werten in einem zweidimensionalen Array in PHP vorgestellt.

Methode 1: Foreach-Schleife verwenden

In PHP können Sie mithilfe der foreach-Schleife problemlos alle Array-Elemente in einem zweidimensionalen Array durchlaufen. Hier ist ein Beispiel für ein 2D-Array:

$students = array(

array('name' => 'John', 'age' => 20, 'grade' => 'A'),
array('name' => 'Jane', 'age' => 21, 'grade' => 'B'),
array('name' => 'Jim', 'age' => 22, 'grade' => 'C')

);

Jetzt möchten wir die Noten des Schülers namens „Jim“ aus diesem 2D-Array abrufen.

Wir können eine foreach-Schleife verwenden, um jeden Schüler zu durchlaufen und zu prüfen, ob sein Name „Jim“ ist. Wenn eine Übereinstimmung gefunden wird, kann die Note des Schülers zurückgegeben werden. Hier ist der Beispielcode, der die Methode implementiert:

foreach ($students as $student) {

if ($student['name'] == 'Jim') {
    echo $student['grade'];
    break;
}

}

Im obigen Code durchlaufen wir jedes Element im $students-Array und weisen es dem Namen Is a zu neues Array von $student. Als nächstes prüfen wir, ob der Schlüssel „name“ in $student gleich „Jim“ ist. Wenn eine Übereinstimmung gefunden wird, verwenden Sie den Echo-Befehl, um den „Noten“-Wert des Schülers auszugeben.

Da die foreach-Schleife das gesamte Array durchläuft, ist zu beachten, dass wir, wenn der erforderliche Wert gefunden wird, den Befehl break verwenden müssen, um die Suche zu stoppen. Ein offensichtlicher Nachteil dieses Ansatzes besteht darin, dass er sich über das gesamte Array erstreckt und bei großen Arrays zu Leistungsproblemen führen kann.

Methode 2: Verwenden Sie eine for-Schleife

Eine andere Möglichkeit, Werte in einem zweidimensionalen Array abzufragen, ist die Verwendung einer for-Schleife. Diese Methode ist schneller als die Verwendung einer foreach-Schleife, und da wir die Position des gesuchten Arrays kennen, können unnötige Schleifeniterationen übersprungen werden. Hier ist der Beispielcode zum Implementieren dieser Methode mithilfe einer for-Schleife:

for ($i = 0; $i < count($students); $i++) {

if ($students[$i]['name'] == 'Jim') {
    echo $students[$i]['grade'];
    break;
}

}

Im obigen Codeausschnitt haben wir verwenden for Die Schleife durchläuft jedes Element im Array $students und verwendet dabei die Variable $i, um den aktuellen Iterator zu verfolgen. Wir prüfen, ob der „Name“-Schlüssel jedes Schülers mit „Jim“ übereinstimmt, und wenn eine Übereinstimmung gefunden wird, verwenden wir den Echo-Befehl, um den „Grade“-Wert für diesen Schüler auszugeben.

Es ist zu beachten, dass die Bedingung $i < count($students) verwendet wird, um zu überprüfen, ob die Schleife den Bereich des Arrays nicht überschreitet. Wir verwenden den Befehl break, um die Schleife zu stoppen, wenn wir den erforderlichen Wert gefunden haben.

Methode 3: Verwenden Sie die Funktion array_column

In PHP gibt es eine praktische Funktion namens array_column(), mit der Sie einen einzelnen Spaltenwert aus einem Array zurückgeben können. Diese Funktion akzeptiert zwei Parameter: ein Array und den zurückzugebenden Spaltennamen. Hier ist ein Beispielcode, um die Funktion array_column() zu verwenden, um die Spalte „note“ aus dem Array $students oben zurückzugeben:

$grades = array_column($students, 'grade');

Jetzt überprüfen wir einfach das zurückgegebene $ grades Der erforderliche Wert kann ermittelt werden, indem überprüft wird, ob das Array einen bestimmten Wert enthält. Hier ist der Beispielcode zum Implementieren dieser Methode:

$student_name = 'Jim';
$grades = array_column($students, 'grade', 'name');
if (array_key_exists($student_name, $grades)) {

echo $grades[$student_name];

}

In diesem Code wird die Funktion array_column() verwendet, um die Spalte „note“ im Array $students abzurufen, und ein assoziatives Array $grades wird mit der Spalte „name“ als Schlüssel erstellt. Als nächstes prüfen wir, ob das Array $grades einen bestimmten Schlüssel (z. B. den Namen des Schülers) enthält und geben den entsprechenden „Grade“-Wert aus.

Zusammenfassung

In PHP gibt es viele verschiedene Möglichkeiten, Werte in einem zweidimensionalen Array abzufragen. In diesem Artikel behandeln wir die drei gängigsten Methoden: die Verwendung einer foreach-Schleife, die Verwendung einer for-Schleife und die Verwendung der Funktion array_column().

Die Verwendung der foreach- oder for-Schleife eignet sich für kleine oder große Arrays, die leistungsfähigere Suchfunktionen erfordern. Im Gegensatz dazu eignet sich die Funktion array_column() besser zum Filtern einer einzelnen Spalte. In der tatsächlichen Entwicklung können Entwickler je nach spezifischen Anforderungen die geeignete Methode zum Abfragen der Werte im zweidimensionalen Array auswählen.

Das obige ist der detaillierte Inhalt vonSo fragen Sie den Wert in einem zweidimensionalen Array in PHP ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn