Bei der PHP -Programmierung werden Arrays sehr häufig verwendete Datenstrukturen. Oft begegnen Sie Szenarien, in denen Sie den Index eines bestimmten Elements aus einem Array finden müssen. Glücklicherweise bietet PHP sehr nützliche Funktionen wie Array_Column und Array_Search , um diese Operationen effizient auszuführen. In diesem Artikel wird erläutert, wie diese beiden Funktionen verwendet werden, um den Index eines Array -Datensatzes zu finden.
Die Funktion array_column ist ein Tool, das von PHP verwendet wird, um bestimmte Spalten aus mehrdimensionalen Arrays zu extrahieren. Es ermöglicht uns, eine Spalte anzugeben, alle Werte der Spalte zu extrahieren und ein neues Array zurückzugeben, das alle Werte der Spalte enthält.
array_column(array $array, mixed $column_key, mixed $index_key = null): array
$ Array : Das multidimensionale Eingangsarray.
$ column_key : Der Schlüsselname der zu extrahierenden Spalte (wenn jedes Element des Arrays ein assoziatives Array ist).
$ INDEX_KEY : Optionaler Parameter, Angabe des Schlüssels im Neuarray. Wenn nicht bereitgestellt, verwendet das zurückgegebene Array die Schlüssel des ursprünglichen Arrays.
Angenommen, wir haben ein Array mit mehreren Datensätzen, jeder Datensatz ist ein assoziatives Array und wir möchten alle Werte der ID -Spalte aus diesen Datensätzen extrahieren.
$records = [
['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@m66.net']
];
// verwenden array_column Extrakt id Liste
$ids = array_column($records, 'id');
print_r($ids);
Ausgangsergebnis:
Array
(
[0] => 1
[1] => 2
[2] => 3
)
Mit Array_Column haben wir die ID -Spalten aller Datensätze im Array erfolgreich extrahiert.
Die Funktion array_search wird verwendet, um in einem Array nach einem Wert zu suchen und den Index des Wertes im Array zurückzugeben. Bei Verwendung mit Array_Column können wir den Index eines bestimmten Datensatzes finden.
array_search(mixed $needle, array $haystack, bool $strict = false): int|string|false
$ nadel : Der Wert, den wir suchen.
$ haystack : Das Array, nach dem man suchen muss.
$ strikt : optionaler Parameter, ob ein strenger Vergleich durchgeführt werden soll (Standard ist falsch , dh einen nicht-strengen Vergleich durchführen).
Angenommen, wir haben ein Array mit mehreren Datensätzen und möchten den Index des Datensatzes finden, dessen Name Bob ist.
$records = [
['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@m66.net']
];
// verwenden array_column Extrakt所有的 name Liste
$names = array_column($records, 'name');
// Finden name für 'Bob' Index von
$index = array_search('Bob', $names);
echo "Bob Index von是: $index"; // Ausgabe: Bob Index von是: 1
Wenn wir einen vollständigen Datensatz finden möchten, der auf eine bestimmte Bedingung erfüllt, können wir zuerst Array_Column verwenden, um die Spalte zu extrahieren , an der wir interessiert sind (z. B. die Spalte von Namensnamen ), um den Index zu finden, der dem Wert in dieser Spalte entspricht, und dann diesen Index verwenden, um den gesamten Datensatz zurückzugeben.
$records = [
['id' => 1, 'name' => 'Alice', 'email' => 'alice@m66.net'],
['id' => 2, 'name' => 'Bob', 'email' => 'bob@m66.net'],
['id' => 3, 'name' => 'Charlie', 'email' => 'charlie@m66.net']
];
// Extrakt所有 name Liste
$names = array_column($records, 'name');
// Finden name für 'Charlie' Index von
$index = array_search('Charlie', $names);
// Kehren Sie zum vollständigen Rekord zurück
if ($index !== false) {
$record = $records[$index];
print_r($record);
}
Ausgangsergebnis:
Array
(
[id] => 3
[name] => Charlie
[email] => charlie@m66.net
)
In diesem Beispiel extrahieren wir alle Werte von Namen über Array_Column und verwenden dann Array_Search , um den entsprechenden Index von Charlie zu ermitteln und schließlich den vollständigen Datensatz über diesen Index zu erhalten.
Das obige ist die grundlegende Methode, um Datensatzindizes in PHP mit Array_Column und Array_Search -Funktionen zu finden. Diese beiden Funktionen sind sehr nützliche Tools im Umgang mit mehrdimensionalen Arrays, die die Suchvorgänge erheblich vereinfachen können. Wenn Sie sich mit komplexen Datenstrukturen befassen, probieren Sie diese Methoden aus.
Ich hoffe, dieser Artikel ist für Sie hilfreich! Wenn Sie Fragen haben oder weitere Hilfe benötigen, können Sie Fragen stellen.