So ermitteln Sie, ob sich ein Wert in einem Array in PHP befindet (eine kurze Analyse verschiedener Methoden)

PHPz
Freigeben: 2023-04-12 10:52:39
Original
1205 Leute haben es durchsucht

PHP ist eine beliebte Programmiersprache und ihr Array ist eine sehr wichtige Datenstruktur. Wenn wir feststellen müssen, ob sich ein Wert in einem Array befindet, können wir die Funktion in_array() in PHP verwenden. In diesem Artikel wird detailliert beschrieben, wie Sie mit der Funktion in_array() und mehreren anderen Methoden ermitteln, ob sich ein Wert in einem Array befindet.

1. Verwenden Sie die Funktion in_array(), um zu bestimmen, ob sich ein Wert in einem Array befindet.

In PHP ist die Funktion in_array() die einfachste und am häufigsten verwendete Methode, um zu bestimmen, ob sich ein Wert in einem Array befindet. Die Syntax lautet wie folgt:

in_array($value, $array, $strict);

Unter diesen ist $value der zu findende Wert, $array das zu findende Array und $strict ein optionaler Parameter , um anzugeben, ob eine Typprüfung durchgeführt werden soll.

Zum Beispiel haben wir ein Array $fruits, das einige Früchte enthält:

$fruits = [
  'apple',
  'banana',
  'pear',
  'orange',
  'kiwi'
];
Nach dem Login kopieren

Jetzt wollen wir feststellen, ob „pear“ im Array $fruits ist, Sie können den folgenden Code verwenden:

if (in_array('pear', $fruits)) {
  echo 'pear is in the array.';
} else {
  echo 'pear is not in the array.';
}
Nach dem Login kopieren

Das Ausgabeergebnis ist :

pear is in the array.
Nach dem Login kopieren

Wenn Sie eine Typprüfung durchführen möchten, können Sie den Parameter $strict auf true setzen. Zum Beispiel:

$numbers = [1, 2, 3, 4, 5];
if (in_array('1', $numbers, true)) {
  echo '1 is in the array.';
} else {
  echo '1 is not in the array.';
}
Nach dem Login kopieren

Das Ausgabeergebnis lautet:

1 is not in the array.
Nach dem Login kopieren

2. Verwenden Sie die Funktion array_search(), um festzustellen, ob sich der Wert im Array befindet.

Eine andere Möglichkeit, festzustellen, ob sich der Wert im Array befindet, besteht darin, die Funktion array_search( ) Funktion. Die Syntax lautet wie folgt:

array_search($value, $array, $strict);

Unter diesen ist $value der zu durchsuchende Wert, $array das zu durchsuchende Array und $strict ein optionaler Parameter , um anzugeben, ob eine Typprüfung durchgeführt werden soll. Wenn sie gefunden wird, gibt die Funktion den Schlüsselnamen des Werts im Array zurück. Wenn sie nicht gefunden wird, gibt sie „false“ zurück.

Zum Beispiel haben wir ein assoziatives Array $prices, das die Preise einiger Früchte enthält:

$prices = [
  'apple' => 0.5,
  'banana' => 0.3,
  'pear' => 0.6,
  'orange' => 0.8,
  'kiwi' => 0.7
];
Nach dem Login kopieren

Möchten wir nun feststellen, ob der Preis für „Banane“ im Array $prices vorhanden ist, können Sie den folgenden Code verwenden:

$key = array_search(0.3, $prices);
if ($key !== false) {
  echo 'banana exists and the price is ' . $prices['banana'];
} else {
  echo 'banana does not exist.';
}
Nach dem Login kopieren

Ausgabe Das Ergebnis ist:

banana exists and the price is 0.3
Nach dem Login kopieren
Nach dem Login kopieren

Wenn Sie eine Typprüfung durchführen möchten, können Sie den Parameter $strict auf true setzen. Beispiel:

$key = array_search('0.3', $prices, true);
if ($key !== false) {
  echo 'banana exists but its price is in a different data type.';
} else {
  echo 'banana does not exist.';
}
Nach dem Login kopieren

Das Ausgabeergebnis ist:

banana does not exist.
Nach dem Login kopieren

3. Verwenden Sie die Funktion isset(), um zu bestimmen, ob sich der Wert im Array befindet. Eine weitere einfache Methode besteht darin, die Funktion isset() zu verwenden, um festzustellen, ob ein Schlüssel vorhanden ist im Array. Zum Beispiel:

if (isset($prices['banana'])) {
  echo 'banana exists and the price is ' . $prices['banana'];
} else {
  echo 'banana does not exist.';
}
Nach dem Login kopieren

Das Ausgabeergebnis ist das gleiche wie im vorherigen Beispiel, nämlich:

banana exists and the price is 0.3
Nach dem Login kopieren
Nach dem Login kopieren

Diese Methode kann jedoch nicht feststellen, ob unter den Werten im Array ein Wert vorhanden ist, sondern nur, ob ein Schlüssel vorhanden ist im Array. Daher funktioniert es nur mit normalen Arrays, nicht mit assoziativen Arrays oder mehrdimensionalen Arrays.

4. Verwenden Sie die Erweiterungsmethoden von in_array() und array_search()

Zusätzlich zur direkten Verwendung der Funktionen in_array() und array_search() gibt es einige Erweiterungsmethoden, mit denen wir besser bestimmen können, ob sich der Wert im befindet Array. Beispiel:

1. Verwenden Sie die Funktion array_keys() in der Funktion in_array():

if (in_array($value, array_keys($array))) {
  echo $value . ' exists in the array.';
} else {
  echo $value . ' does not exist in the array.';
}
Nach dem Login kopieren

Das Prinzip dieser Methode besteht darin, zuerst die Funktion array_keys() zu verwenden, um alle Schlüssel im Array abzurufen, und dann die Funktion zu verwenden in_array() Funktion, um zu bestimmen, ob der Wert in der Liste der Schlüssel enthalten ist. Diese Methode ist jedoch ineffizient und nimmt bei großen Arrays viel Speicher und Zeit in Anspruch.

2. Verwenden Sie die Funktionen array_flip() und isset():

if (isset(array_flip($array)[$value])) {
  echo $value . ' exists in the array.';
} else {
  echo $value . ' does not exist in the array.';
}
Nach dem Login kopieren

Das Prinzip dieser Methode besteht darin, zuerst die Funktion array_flip() zu verwenden, um die Schlüssel und Werte im Array umzukehren, und dann isset zu verwenden ()-Funktion, um festzustellen, ob der Wert im neuen Array vorhanden ist. Diese Methode ist effizienter, gilt jedoch nur für gewöhnliche Arrays, nicht für assoziative Arrays oder mehrdimensionale Arrays.

5. Zusammenfassung

In PHP gibt es viele Möglichkeiten, um festzustellen, ob sich ein Wert in einem Array befindet. Die gebräuchlichsten Methoden sind die Verwendung der Funktionen in_array() und array_search(). Wenn Sie eine Typprüfung durchführen möchten, müssen Sie den Parameter $strict auf true setzen. Darüber hinaus gibt es einige erweiterte Methoden, mit denen wir besser feststellen können, ob sich der Wert im Array befindet. Unterschiedliche Situationen erfordern unterschiedliche Methoden.

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob sich ein Wert in einem Array in PHP befindet (eine kurze Analyse verschiedener Methoden). 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