Heim >Backend-Entwicklung >PHP-Problem >PHP bestimmt, welches Element des Arrays

PHP bestimmt, welches Element des Arrays

WBOY
WBOYOriginal
2023-05-06 09:41:07900Durchsuche

In PHP ist die Bestimmung der Position eines Elements in einem Array eine sehr häufige Operation. In diesem Artikel werden verschiedene Methoden zur Bestimmung der Position von Elementen in einem Array vorgestellt.

Methode 1: Verwenden Sie die Funktion array_search()

In PHP können Sie die Funktion array_search() direkt verwenden, um die Position eines Elements im Array zu finden, und der Rückgabewert ist der Schlüsselwert, der der Position des Elements entspricht Element. Wenn nicht gefunden, geben Sie false zurück.

Beispielcode:

$arr = array('apple', 'banana', 'orange');
$pos = array_search('banana', $arr);
echo $pos;   // 输出 1

Im obigen Beispiel wird die Funktion array_search() verwendet, um die Position des Elements „Banane“ im Array $arr zu finden, und der Rückgabewert ist 1.

Es ist zu beachten, dass mit dieser Methode nur die Position des ersten Elements im Array ermittelt werden kann, das die Bedingungen erfüllt. Wenn mehrere Elemente vorhanden sind, die die Bedingungen erfüllen, kann nur die Position des ersten Elements ermittelt werden.

Methode 2: Verwenden Sie die Funktion array_keys(). Die Funktion array_keys() kann ein Array der Positionen aller Elemente zurückgeben, deren Schlüsselwerte dem angegebenen Wert entsprechen. Der Schlüsselname im zurückgegebenen Array entspricht der Position von das Element. Wenn es nicht gefunden wird, wird ein leeres Array zurückgegeben.

Beispielcode:

$arr = array('apple', 'banana', 'orange', 'banana');
$pos = array_keys($arr, 'banana');
print_r($pos);   // 输出 Array ( [0] => 1 [1] => 3 )

Im obigen Beispiel wird die Funktion array_keys() verwendet, um die Position des Elements „Banane“ im Array $arr zu finden, und der Rückgabewert ist ein Array mit den Positionen 1 und 3.

Es ist zu beachten, dass diese Methode nur die Positionen aller Elemente bestimmen kann, die die Bedingungen erfüllen, und keine spezifischen Elementwerte oder andere Informationen erhalten kann.

Methode 3: Verwenden Sie die foreach()-Schleife

Verwenden Sie die foreach()-Schleife, um das Array zu durchlaufen. Sie können die Elemente im Array einzeln beurteilen und gleichzeitig die Positionsinformationen der Elemente aufzeichnen.

Beispielcode:

$arr = array('apple', 'banana', 'orange', 'banana');
foreach($arr as $key => $value) {
    if($value == 'banana') {
        echo $key;   // 输出 1 3
    }
}

Verwenden Sie im obigen Beispiel foreach(), um das Array $arr zu durchlaufen und nacheinander zu bestimmen, ob die Elemente gleich „Banane“ sind. Wenn sie gleich sind, wird die Position des Elements ermittelt ausgegeben wird.

Es ist zu beachten, dass diese Methode den Wert, die Position und andere Informationen bestimmter Elemente ermitteln kann, jedoch weniger effizient ist, insbesondere bei großen Arrays, und die Zeitkomplexität hoch ist.

Methode 4: Verwenden Sie die Funktion array_reduce(). Die Funktion array_reduce() kann Reduktionsoperationen für alle Elemente des Arrays durchführen und gleichzeitig die Positionsinformationen jedes Elements aufzeichnen. Sie kann die Elemente und Positionsinformationen speichern, die die Bedingungen erfüllen Array als Array und erhalten Sie dann die Positionsinformationen eines Elements durch Durchlaufen des Arrays.

Beispielcode:

$arr = array('apple', 'banana', 'orange', 'banana');
$posArr = array_reduce($arr, function($carry, $item) {
    static $pos = 0;
    if($item == 'banana') {
        $carry[] = $pos;
    }
    $pos++;
    return $carry;
}, array());
print_r($posArr);   // 输出 Array ( [0] => 1 [1] => 3 )

Verwenden Sie im obigen Beispiel die Funktion array_reduce(), um das Array $arr zu verarbeiten und jedes Element zu beurteilen. Wenn das Element gleich „Banane“ ist, zeichnen Sie die Elementpositionsinformationen in $carry auf Array und gibt schließlich das $carry-Array zurück.

Es ist zu beachten, dass diese Methode problemlos ein Array aller Elementpositionen erhalten kann, die die Bedingungen erfüllen. Im Vergleich zur foreach()-Schleife ist die Zeitkomplexität jedoch bei großen Arrays immer noch höher.

Zusammenfassend gibt es viele Möglichkeiten, die Position eines Elements in einem Array in PHP zu bestimmen. Es ist wichtig, die geeignete Methode entsprechend der tatsächlichen Situation auszuwählen.

Das obige ist der detaillierte Inhalt vonPHP bestimmt, welches Element des Arrays. 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
Vorheriger Artikel:Ist das PHP-Array im Array?Nächster Artikel:Ist das PHP-Array im Array?