Heim  >  Artikel  >  Backend-Entwicklung  >  So ermitteln Sie in PHP, ob ein Array einen bestimmten Wert enthält

So ermitteln Sie in PHP, ob ein Array einen bestimmten Wert enthält

PHPz
PHPzOriginal
2023-04-19 09:17:05802Durchsuche

In der PHP-Entwicklung ist Array eine sehr häufig verwendete Datenstruktur. Bei der Verwendung von Arrays geht es oft darum, zu beurteilen, ob das Array einen bestimmten Wert enthält. In diesem Artikel wird kurz vorgestellt, wie Sie in PHP schnell feststellen können, ob ein Array einen bestimmten Wert enthält, und einige Beispielcodes als Referenz bereitstellen.

1. Verwenden Sie die Funktion in_array(), um zu bestimmen.

Verwenden Sie in PHP die Funktion in_array(), um schnell festzustellen, ob ein Array einen bestimmten Wert enthält. Diese Funktion empfängt zwei Parameter, der erste Parameter ist der zu findende Wert und der zweite Parameter ist das abzufragende Array. Wenn der Wert abgefragt wird, wird true zurückgegeben, andernfalls wird false zurückgegeben.

Beispielcode:

$arr = array('php', 'java', 'python', 'ruby');
if (in_array('php', $arr)) {
  echo '该数组中包含php';
} else {
  echo '该数组中不包含php';
}

Ausgabe:

该数组中包含php

2. Verwenden Sie die Funktion array_search(), um zu bestimmen

Eine weitere häufig verwendete Funktion ist array_search(), die in_array() ähnelt und schnell feststellen kann, ob ein Array ein bestimmtes enthält Wert. Der Unterschied besteht darin, dass die Funktion array_search() den passenden Schlüsselnamen zurückgibt, anstatt true oder false zurückzugeben.

Beispielcode:

$arr = array('php', 'java', 'python', 'ruby');
$key = array_search('php', $arr);
if ($key !== false) {
  echo '该数组中包含php,其键名为:' . $key;
} else {
  echo '该数组中不包含php';
}

Ausgabe:

该数组中包含php,其键名为:0

Da array_search() den übereinstimmenden Schlüsselnamen zurückgibt, müssen Sie feststellen, ob der Rückgabewert falsch ist, und Sie können if(array_search('php ') nicht verwenden. , $arr)).

3. Verwenden Sie die Funktionen in_array() und array_search() für Fuzzy-Matching

Manchmal ist Fuzzy-Matching erforderlich, um festzustellen, ob ein Array einen bestimmten Wert enthält. Beispielsweise müssen Sie feststellen, ob das Array die Zeichenfolge „php“ enthält. Sie können reguläre Ausdrücke in Kombination mit den Funktionen in_array() und array_search() verwenden, um Fuzzy-Matching durchzuführen.

Beispielcode:

$arr = array('welcome to php world', 'java is the best language', 'I love python', 'ruby on rails');
$pattern = '/.*php.*/i'; // 匹配包含php字样的字符串
foreach ($arr as $value) {
  if (preg_match($pattern, $value)) {
    if (in_array($value, $arr)) {
      echo $value . ' 存在于数组中';
    } else {
      $key = array_search($value, $arr);
      echo $value . ' 的键名为:' . $key . ',但其实际不在数组中';
    }
  }
}

Ausgabe:

welcome to php world 存在于数组中

Zusammenfassung

In PHP kann mithilfe der Funktionen in_array() und array_search() ermittelt werden, ob ein Array einen bestimmten Wert enthält. Der Unterschied zwischen den beiden Funktionen besteht in der Art des Rückgabewerts. Es ist zu beachten, dass beim Fuzzy-Matching reguläre Ausdrücke in Kombination mit den Funktionen in_array() und array_search() zur Beurteilung verwendet werden müssen.

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie in PHP, ob ein Array einen bestimmten Wert enthält. 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