Heim > Backend-Entwicklung > PHP-Problem > Ist der PHP-String im Array?

Ist der PHP-String im Array?

WBOY
Freigeben: 2023-05-19 14:56:38
Original
1144 Leute haben es durchsucht

PHP ist eine serverseitige Programmiersprache. Sie verfügt über eine sehr umfangreiche Funktionsbibliothek und integrierte Funktionen, darunter viele Funktionen im Zusammenhang mit Strings und Arrays. In PHP ist die Verwendung von Arrays zur Datenspeicherung und -verarbeitung ein sehr häufiger Vorgang, und auch die Feststellung, ob eine bestimmte Zeichenfolge in einem Array vorhanden ist, ist eine häufige Anforderung.

Es gibt viele Möglichkeiten, um festzustellen, ob eine Zeichenfolge in einem Array vorhanden ist. Wir können eine Schleife verwenden, um das Array zu durchlaufen, oder wir können die in PHP integrierten Funktionen verwenden, um dies im Detail zu ermitteln Mehrere Methoden, um festzustellen, ob eine Zeichenfolge in Arrays vorhanden ist.

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

PHP stellt die Funktion in_array() zur Verfügung, um schnell zu bestimmen, ob ein Wert im Array vorhanden ist. Die grundlegende Verwendung der Funktion in_array() ist wie folgt:

in_array($needle, $haystack);
Nach dem Login kopieren

wobei $needle der zu findende Wert und $haystack ist das zu findende Array. Diese Funktion gibt einen booleschen Wert zurück, true, wenn das angegebene Element gefunden wird, andernfalls false. $needle为要查找的值,$haystack为要查找的数组。该函数会返回布尔值,如果找到了指定的元素返回true,否则返回false

例如:

$names = ['Alice', 'Bob', 'Charlie'];
var_dump(in_array('Charlie', $names)); // 输出 true
var_dump(in_array('David', $names)); // 输出 false
Nach dem Login kopieren

上面的代码中,我们定义了一个数组$names,然后使用in_array()函数查找了'Charlie''David'两个值,结果分别返回了truefalse

在使用in_array()函数判断字符串是否在数组中时,需要注意以下几个问题:

  1. in_array()函数默认是区分大小写的,即判断时必须保证大小写一致;
  2. in_array()函数只能判断值是否在数组中存在,而不能判断该值在数组中的位置;
  3. in_array()函数只能判断一维数组中的元素,对于多维数组,需要使用其它方法进行判断。

方法二:使用array_search()函数进行判断

如果需要找到一个在数组中出现的具体位置,我们可以使用array_search()函数。该函数和in_array()函数类似,不同的是,它返回要查找的值在数组中的键名,而不是返回布尔值。

array_search()函数的基本用法如下:

array_search($needle, $haystack);
Nach dem Login kopieren

其中$needle为要查找的值,$haystack为要查找的数组。如果找到了指定的元素,该函数会返回该元素在数组中的键名(即该元素对应的数组下标),否则返回false

例如:

$names = ['Alice', 'Bob', 'Charlie'];
echo array_search('Charlie', $names); // 输出 2
echo array_search('David', $names); // 输出 ''
Nach dem Login kopieren

上面的代码中,我们定义了一个数组$names,然后使用array_search()函数查找了'Charlie''David'两个值,结果分别返回了2''。注意,在查找'David'时返回了空字符串而不是false

和in_array()函数一样,使用array_search()函数判断字符串是否在数组中时,也需要注意大小写问题。

方法三:使用array_key_exists()函数进行判断

如果想要判断一个指定的键名是否在数组中存在,可以使用array_key_exists()函数。该函数的基本用法如下:

array_key_exists($key, $array);
Nach dem Login kopieren

其中$key为要查找的键名,$array为要查找的数组。如果找到了指定的键名,该函数会返回true,否则返回false

例如:

$ages = ['Alice' => 18, 'Bob' => 21, 'Charlie' => 24];
var_dump(array_key_exists('Alice', $ages)); // 输出 true
var_dump(array_key_exists('David', $ages)); // 输出 false
Nach dem Login kopieren

上面的代码中,我们定义了一个关联数组$ages,然后使用array_key_exists()函数查找了'Alice''David'两个键名,结果分别返回了truefalse

需要注意的是,array_key_exists()函数只能用于查找关联数组中的键名,不能用于查找普通数组中的元素值。

方法四:使用isset()函数进行判断

如果有多个可能的键名可以匹配时,可以使用isset()函数来进行判断。该函数的基本用法如下:

isset($array[$key]);
Nach dem Login kopieren

其中$array为要查找的数组,$key为要匹配的键名。如果能匹配到该键名,isset()函数返回true,否则返回false

例如:

$settings = ['debug' => true, 'auth' => false, 'port' => 80];
var_dump(isset($settings['debug'])); // 输出 true
var_dump(isset($settings['logging'])); // 输出 false
Nach dem Login kopieren

上面的代码中,我们定义了一个关联数组$settings,然后使用isset()函数查找了'debug''logging'两个键名,结果分别返回了truefalse

Zum Beispiel:

rrreee

Im obigen Code definieren wir ein Array $names und verwenden dann die Funktion in_array(), um 'Charlie' und 'David' zwei Werte, die Ergebnisse gaben jeweils true und false zurück.

Wenn Sie die Funktion in_array() verwenden, um zu bestimmen, ob sich eine Zeichenfolge in einem Array befindet, müssen Sie auf die folgenden Punkte achten: #🎜🎜#
  1. Die Funktion in_array() Standardmäßig wird zwischen Groß- und Kleinschreibung unterschieden, d array;
  2. in_array Die Funktion () kann nur die Elemente in einem eindimensionalen Array beurteilen. Bei mehrdimensionalen Arrays müssen andere Methoden zur Beurteilung verwendet werden.
#🎜🎜#Methode 2: Verwenden Sie die Funktion array_search(), um zu beurteilen #🎜🎜##🎜🎜#Wenn Sie eine bestimmte Position finden müssen, die im Array erscheint, können wir array_search verwenden ()-Funktion. Diese Funktion ähnelt der Funktion in_array(), außer dass sie den Schlüsselnamen des im Array zu findenden Werts anstelle eines booleschen Werts zurückgibt. #🎜🎜##🎜🎜#Die grundlegende Verwendung der Funktion array_search() ist wie folgt: #🎜🎜#rrreee#🎜🎜#wobei $needle der zu findende Wert ist, $ haystack ist das zu findende Array. Wenn das angegebene Element gefunden wird, gibt die Funktion den Schlüsselnamen des Elements im Array zurück (d. h. den Array-Index, der dem Element entspricht), andernfalls gibt sie false zurück. #🎜🎜##🎜🎜#Zum Beispiel: #🎜🎜#rrreee#🎜🎜#Im obigen Code definieren wir ein Array $names und verwenden dann die Funktion array_search(), um 'Charlie' und 'David' zwei Werte, die Ergebnisse gaben jeweils 2 und '' zurück. Beachten Sie, dass die Suche nach 'David' die leere Zeichenfolge anstelle von false zurückgibt. #🎜🎜##🎜🎜#Wie bei der Funktion in_array() müssen Sie auch bei der Verwendung der Funktion array_search() zur Bestimmung, ob sich eine Zeichenfolge in einem Array befindet, auf die Groß-/Kleinschreibung achten. #🎜🎜##🎜🎜#Methode 3: Verwenden Sie die Funktion array_key_exists(), um zu bestimmen #🎜🎜##🎜🎜#Wenn Sie feststellen möchten, ob ein bestimmter Schlüsselname im Array vorhanden ist, können Sie die Funktion array_key_exists() verwenden . Die grundlegende Verwendung dieser Funktion ist wie folgt: #🎜🎜#rrreee#🎜🎜#wobei $key der zu findende Schlüsselname und $array das Array ist zu finden. Wenn der angegebene Schlüssel gefunden wird, gibt die Funktion true zurück, andernfalls false. #🎜🎜##🎜🎜#Zum Beispiel: #🎜🎜#rrreee#🎜🎜#Im obigen Code definieren wir ein assoziatives Array $ages und verwenden dann die Funktion array_key_exists() zum Suchen 'Alice' und 'David' sind zwei Schlüsselnamen, und die Ergebnisse geben true bzw. false zurück. #🎜🎜##🎜🎜#Es ist zu beachten, dass die Funktion array_key_exists () nur zum Suchen von Schlüsselnamen in assoziativen Arrays und nicht zum Suchen von Elementwerten in gewöhnlichen Arrays verwendet werden kann. #🎜🎜##🎜🎜#Methode 4: Verwenden Sie die Funktion isset() zur Beurteilung. #🎜🎜##🎜🎜#Wenn mehrere mögliche Schlüsselnamen übereinstimmen, können Sie zur Beurteilung die Funktion isset() verwenden. Die grundlegende Verwendung dieser Funktion ist wie folgt: #🎜🎜#rrreee#🎜🎜#wobei $array das zu findende Array und $key der Schlüsselname ist abgestimmt werden. Wenn der Schlüsselname übereinstimmt, gibt die Funktion isset() true zurück, andernfalls false. #🎜🎜##🎜🎜#Zum Beispiel: #🎜🎜#rrreee#🎜🎜#Im obigen Code definieren wir ein assoziatives Array $settings und verwenden dann die Funktion isset() zum Suchen 'debug' und 'logging' sind zwei Schlüsselnamen, und die Ergebnisse geben jeweils true und false zurück. #🎜🎜##🎜🎜#Zusammenfassung: #🎜🎜##🎜🎜#In PHP gibt es viele Möglichkeiten, um festzustellen, ob eine Zeichenfolge in einem Array vorhanden ist, einschließlich der Verwendung der Funktion in_array(), der Funktion array_search(), array_key_exists( )-Funktion und isset()-Funktion usw. Wenn Sie diese Funktionen zur Beurteilung verwenden, müssen Sie auf Fallprobleme und Array-Typen (eindimensionale Arrays und mehrdimensionale Arrays) achten. Die Auswahl der geeigneten Methode entsprechend den tatsächlichen Anforderungen kann die Betriebseffizienz und Genauigkeit des Programms verbessern. #🎜🎜#

Das obige ist der detaillierte Inhalt vonIst der PHP-String im Array?. 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