php-Index des Artikels

Lesezeit: 2 Minuten

Benutzer-Avatar
McGrail

Ich habe ein Array, das so aussieht:

$fruit = array('apple','orange','grape');

Wie kann ich den Index eines bestimmten Elements im obigen Array finden? (Zum Beispiel der Wert ‘orange’)

Benutzer-Avatar
Tufan Barış Yıldırım

Versuchen Sie die array_search Funktion.

Aus dem ersten Beispiel im Handbuch:

<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');

$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array);   // $key = 1;
?>

Ein Wort der Vorsicht

Stellen Sie beim Vergleichen des Ergebnisses sicher, dass Sie explizit auf den Wert testen false Verwendung der === Operator.

Da Arrays in PHP 0-basiert sind, wird der Wert 0 zurückgegeben, wenn das gesuchte Element das erste Element im Array ist.

Während 0 ein gültiges Ergebnis ist, ist es auch ein falscher Wert, was bedeutet, dass Folgendes fehlschlägt:

<?php
    $array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');   

    $key = array_search('blue',$array);

    if($key == false) {
        throw new Exception('Element not found');
    }
?>

Dies liegt daran, dass die == Operator sucht nach Gleichberechtigung (durch Typ-Jonglage), während die === Operator sucht nach Identität.

  • Ich denke, das if(in_array(. Bit sollte mich vor dem Problem schützen, das Sie nach “sei vorsichtig” bemerkt haben.

    – McGrail

    18. Mai 2011 um 15:22 Uhr

  • Es gibt einen kleinen Fehler im Code, das Array ist nicht angegeben. Es sollte sein array_search('blue', $array).

    – Dmitri Gamolin

    27. Juli 2017 um 19:57 Uhr

Denken Sie daran, dass Sie verwenden sollten, wenn Sie glauben, dass Ihr Suchbegriff mehr als einmal gefunden werden kann array_keys() weil es Schlüssel für alle übereinstimmenden Werte zurückgibt, nicht nur den ersten übereinstimmenden Schlüssel als array_search().

Grüße.

Sie müssen array_search verwenden.

Schau hier http://www.php.net/manual/en/function.array-search.php

  • Rückgabewerte Gibt TRUE zurück, wenn die Nadel im Array gefunden wird, andernfalls FALSE.

    – McGrail

    18. Mai 2011 um 15:07 Uhr

1312420cookie-checkphp-Index des Artikels

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy