Heim  >  Artikel  >  Backend-Entwicklung  >  So ermitteln Sie, ob ein angegebener Wert in einem Array in PHP enthalten ist

So ermitteln Sie, ob ein angegebener Wert in einem Array in PHP enthalten ist

PHPz
PHPzOriginal
2023-04-26 14:24:19523Durchsuche

In der PHP-Programmierung ist die Bestimmung, ob sich ein Element in einem Array befindet, eine übliche Operation, die mit der Funktion in_array implementiert werden kann. Einige Entwickler verwenden jedoch die native PHP-Syntax, d. h. sie verwenden zur Beurteilung „==“ oder „===“. In diesem Fall können unterschiedliche Ergebnisse erzielt werden. Daher wird in diesem Artikel die damit verbundene Frage erörtert, ob PHP in einem Array enthalten ist.

1. Verwendung der in_array-Funktion

in_array ist eine von PHP bereitgestellte Funktion, um zu bestimmen, ob sich ein Element in einem Array befindet = FALSE ] )

Diese Funktion akzeptiert drei Parameter:

needle: das zu findende Element
  1. haystack: das zu findende Array
  2. strict: ob der strikte Modus verwendet werden soll. Wenn „true“, wird bestimmt, ob das Element vom gleichen Typ wie das Array-Element ist (sowohl Typ als auch Wert stimmen überein).
  3. Im folgenden Code verwenden wir beispielsweise in_array, um zu bestimmen, ob „apple“ im $fruits-Array enthalten ist:
$fruits = array('banana', 'apple', 'orange');
if (in_array('apple', $fruits)) {
    echo 'Yes, apple is in the fruits array';
} else {
    echo 'Sorry, apple is not in the fruits array';
}

Der obige Code gibt „Ja, Apple ist im Fruits-Array“ aus, weil „apple“ vorhanden ist tatsächlich in $fruits im Array.

2. Native PHP-Syntax, um zu bestimmen, ob sich ein Element in einem Array befindet.

Einige Entwickler verwenden möglicherweise native PHP-Syntax, um zu bestimmen, ob sich ein Element in einem Array befindet, z. B. mit „==“ oder „===“ zum Vergleich . Zum Beispiel:

$fruits = array('banana', 'apple', 'orange');
if ('apple' == $fruits[1]) {
    echo 'Yes, apple is in the fruits array';
} else {
    echo 'Sorry, apple is not in the fruits array';
}

Dieser Code entspricht dem Code mit in_array, beide geben „Ja, Apfel ist im Obst-Array“ aus. Denn „apple“ hat den gleichen Wert wie $fruits[1].

Allerdings kann die Verwendung der nativen PHP-Syntax zur Bestimmung, ob sich ein Element in einem Array befindet, zu unterschiedlichen Ergebnissen führen, insbesondere wenn „===“ verwendet wird.

Im folgenden Code vergleichen wir beispielsweise sowohl eine Ganzzahl 1 als auch eine Zeichenfolge „1“ mit Array-Elementen:

$test_array = array('1', '2', '3');
var_dump(1 == $test_array[0]);    // true
var_dump('1' == $test_array[0]);  // true,因为'1'会被转换成整型1
var_dump(1 === $test_array[0]);   // false,类型不匹配
var_dump('1' === $test_array[0]); // false,类型不匹配

Im obigen Code wird bei Verwendung von „==" zum Vergleich geprüft, ob es sich um eine Ganzzahl 1 oder handelt Die Zeichenfolge „1“ wird in den Ganzzahltyp 1 konvertiert, sodass sie mit dem Array-Element „1“ identisch ist.

Wenn Sie jedoch „===“ zum Vergleich verwenden, ist das Vergleichsergebnis falsch, da die Typen nicht übereinstimmen (einer ist eine Ganzzahl und der andere eine Zeichenfolge).

3. Andere Methoden, um festzustellen, ob sich ein Element in einem Array befindet

Zusätzlich zur Verwendung der Funktion in_array und der nativen PHP-Syntax gibt es andere Methoden, um festzustellen, ob sich ein Element in einem Array befindet.

array_search-Funktion
  1. array_search-Funktion kann ein Element im Array finden und seinen entsprechenden Schlüsselnamen zurückgeben. Wenn es nicht gefunden wird, gibt es „false“ zurück. Beispiel:
$fruits = array('banana', 'apple', 'orange');
$key = array_search('apple', $fruits);
if ($key !== false) {
    echo 'Yes, apple is in the fruits array';
} else {
    echo 'Sorry, apple is not in the fruits array';
}

Wenn im obigen Code „Apfel“ gefunden wird, wird der entsprechende Schlüsselname 1 zurückgegeben, sodass „Ja, Apfel befindet sich im Obst-Array“ ausgegeben wird.

in_array-Funktion kombiniert mit array_flip-Funktion
  1. Mit der in_array-Funktion kombiniert mit array_flip-Funktion kann schnell ermittelt werden, ob sich das Element im Array befindet. Es ist jedoch zu beachten, dass der Wert im Array eindeutig sein muss.
$fruits = array('banana', 'apple', 'orange');
$flip_fruits = array_flip($fruits); // 交换键和值
if (isset($flip_fruits['apple'])) {
    echo 'Yes, apple is in the fruits array';
} else {
    echo 'Sorry, apple is not in the fruits array';
}

Im obigen Code tauschen wir die Schlüssel und Werte des $fruits-Arrays aus, um ein neues $flip_fruits-Array zu erhalten. Dann verwenden wir die Funktion isset, um zu bestimmen, ob „apple“ ein Schlüssel des $flip_fruits-Arrays ist. Wenn ja, dann befindet sich „apple“ im $fruits-Array.

IV. Zusammenfassung

In der PHP-Programmierung ist die Beurteilung, ob sich ein Element in einem Array befindet, eine übliche Operation, die mit der Funktion in_array implementiert werden kann. Diese Funktion kann auch mit nativer PHP-Syntax implementiert werden, Sie müssen jedoch auf Probleme mit der Typübereinstimmung achten. Darüber hinaus können auch andere Methoden verwendet werden, z. B. die Funktion array_search und die Funktion in_array in Kombination mit der Funktion array_flip.

Abschließend hoffe ich, dass dieser Artikel PHP-Entwicklern beim Umgang mit Arrays hilfreich sein kann.

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob ein angegebener Wert in einem Array in PHP enthalten ist. 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