Heim > Backend-Entwicklung > PHP-Problem > PHP findet den Index eines Integer-Arrays

PHP findet den Index eines Integer-Arrays

PHPz
Freigeben: 2023-05-19 09:45:36
Original
513 Leute haben es durchsucht

In PHP müssen wir häufig einige Operationen an Arrays ausführen, z. B. das Finden des Index eines Elements im Array. Wenn die Elemente im Array alle eindeutig sind, können wir die Funktion array_search() verwenden, um den Index des Elements zu finden. Wenn das Array jedoch identische Elemente enthält, gibt die Funktion ein falsches Ergebnis zurück, da nur der Index des ersten übereinstimmenden Elements zurückgegeben wird. In diesem Fall müssen wir andere Methoden verwenden, um den Index des Array-Elements zu finden.

Im Folgenden werde ich verschiedene Methoden vorstellen, um den Index eines Integer-Arrays zu finden.

Methode 1: Verwenden Sie die Funktion in_array()

Die Funktion in_array() kann prüfen, ob ein Wert im Array vorhanden ist. Wenn er vorhanden ist, gibt er true zurück, andernfalls gibt er false zurück. Natürlich können wir diese Funktion verwenden, um den Index eines Elements im Array zu finden, wie unten gezeigt:

$array = array(1, 2, 3, 4, 5);
$key = array_search(3, $array);
if ($key !== false) {
    echo "3 的下标是:$key";
} else {
    echo "数组中不存在 3";
}
Nach dem Login kopieren

Ausgabeergebnis:

3 的下标是:2
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Diese Methode gilt jedoch nur für den Fall, dass das Element im Array eindeutig ist. Wenn doppelte Elemente vorhanden sind, kann der Index des Elements nicht genau ermittelt werden.

Methode 2: Verwenden Sie die Funktion array_keys()

Die Funktion array_keys() kann alle Schlüsselnamen in einem Array zurückgeben, dh die Indexliste des Arrays zurückgeben. Wir können diese Funktion verwenden, um alle Indizes eines Elements in einem ganzzahligen Array zu finden, wie unten gezeigt:

$array = array(1, 2, 3, 3, 4, 5);
$keys = array_keys($array, 3);
if (!empty($keys)) {
    foreach ($keys as $key) {
        echo "3 的下标是:$key<br>";
    }
} else {
    echo "数组中不存在 3";
}
Nach dem Login kopieren

Ausgabeergebnis:

3 的下标是:2
3 的下标是:3
Nach dem Login kopieren

Mit dieser Methode können alle Indizes eines Elements in einem ganzzahligen Array genau ermittelt werden, einschließlich des Indexes wiederholtes Element. Wenn das Element jedoch nicht im Array vorhanden ist, wird ein leeres Array zurückgegeben.

Methode 3: Verwenden Sie die Funktionen array_flip() und isset().

Die Funktion array_flip() kann die Schlüssel und Werte im Array austauschen und dann das neue Array zurückgeben. Wenn das ursprüngliche Array doppelte Werte enthält, gehen einige Daten verloren. Wenn die Werte in unserem Array jedoch alle eindeutig sind, können wir diese Methode verwenden, um den Index eines Elements im Integer-Array zu finden, wie unten gezeigt:

$array = array(1, 2, 3, 4, 5);
$flipped = array_flip($array);
if (isset($flipped[3])) {
    echo "3 的下标是:" . $flipped[3];
} else {
    echo "数组中不存在 3";
}
Nach dem Login kopieren

Ausgabeergebnis:

3 的下标是:2
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Obwohl diese Methode relativ einfach ist, Dies gilt jedoch nur, wenn alle Elemente im Array eindeutig sind. Wenn das Array identische Elemente enthält, können wir nicht den richtigen Index erhalten.

Methode 4: Verwenden Sie die Rückruffunktion und die Funktion array_filter(). Die Funktion array_filter() kann Array-Elemente gemäß angegebenen Bedingungen filtern und dann Array-Elemente zurückgeben, die die Bedingungen erfüllen. Wir können diese Funktion in Kombination mit einer benutzerdefinierten Rückruffunktion verwenden, um den Index eines Elements im Integer-Array zu finden, wie unten gezeigt:

$array = array(1, 2, 3, 3, 4, 5);
$index = null;
array_filter($array, function($key, $value) use (&$index) {
    if ($value == 3 && is_null($index)) {
        $index = $key;
    }
}, ARRAY_FILTER_USE_BOTH);
if (!is_null($index)) {
    echo "3 的下标是:$index";
} else {
    echo "数组中不存在 3";
}
Nach dem Login kopieren

Ausgabeergebnis:

3 的下标是:2
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Diese Methode kann ein Element im Integer-Array genau abrufen Der erste Index von , einschließlich der Indizes wiederholter Elemente. Der Code ist jedoch komplizierter, da eine benutzerdefinierte Rückruffunktion erforderlich ist.

Zusammenfassung

Für das Problem, den Index eines ganzzahligen Arrays zu finden, können wir verschiedene Methoden zur Lösung auswählen. Die geeignete Methode sollte entsprechend dem Inhalt des Arrays und dem Anwendungsszenario ausgewählt werden. Wenn die Elemente im Array alle eindeutig sind, können wir die Funktion array_search() oder array_flip() verwenden, um den Index des Elements zu finden. Wenn das Array doppelte Elemente enthält, können wir die Funktion array_keys() oder die Funktion array_filter() in Kombination mit einer benutzerdefinierten Rückruffunktion verwenden, um den Index des Elements zu finden.

Das obige ist der detaillierte Inhalt vonPHP findet den Index eines Integer-Arrays. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage