Heim  >  Artikel  >  Backend-Entwicklung  >  PHP bestimmt, ob ein Array definiert werden soll

PHP bestimmt, ob ein Array definiert werden soll

WBOY
WBOYOriginal
2023-05-06 12:59:08585Durchsuche

Wenn wir PHP-Code schreiben, müssen wir oft feststellen, ob ein Array definiert ist. In PHP wird die Bestimmung, ob ein Array definiert ist, hauptsächlich über die Funktionen isset() und array_key_exists() implementiert. Im Folgenden werden die Verwendung dieser beiden Funktionen und ihre Unterschiede vorgestellt.

1. isset()-Funktion

isset()-Funktion ist eine integrierte Funktion in PHP, die verwendet wird, um zu bestimmen, ob eine Variable gesetzt ist und ob sie null ist. Wenn Sie die Funktion isset() zur Beurteilung eines Arrays verwenden, gilt das Array als definiert, solange sich ein Element im Array befindet.

Der Beispielcode lautet wie folgt:

$myArray = array('apple', 'banana', 'orange');

if(isset($myArray)) {
   echo "数组已被定义";
} else {
   echo "数组未被定义";
}

Wenn der obige Code ausgeführt wird, lautet das Ausgabeergebnis „Array wurde definiert“.

Es ist zu beachten, dass die Funktion isset() das Array weiterhin als definiert betrachtet, auch wenn alle Elemente des Arrays gelöscht werden.

Der Beispielcode lautet wie folgt:

$myArray = array('apple', 'banana', 'orange');

unset($myArray[0]);
unset($myArray[1]);
unset($myArray[2]);

if(isset($myArray)) {
   echo "数组已被定义";
} else {
   echo "数组未被定义";
}

Wenn der obige Code ausgeführt wird, lautet das Ausgabeergebnis „Array wurde definiert“.

Die Verwendung der Funktion isset() zur Bestimmung, ob das Array definiert ist, ist also eigentlich nicht sehr effektiv, da nur geprüft wird, ob das Array festgelegt ist, und nicht, ob das Array leer ist.

2. Die Funktion array_key_exists()

Die Funktion array_key_exists() ist ebenfalls eine in PHP integrierte Funktion, mit der ermittelt wird, ob ein angegebener Schlüsselname im Array vorhanden ist. Wenn Sie die Funktion array_key_exists() verwenden, um ein Array zu ermitteln, muss der Schlüsselname angegeben werden. Nur wenn der angegebene Schlüsselname im Array vorhanden ist, gilt das Array als definiert.

Der Beispielcode lautet wie folgt:

$myArray = array('apple', 'banana', 'orange');

if(array_key_exists(0, $myArray)) {
   echo "数组已被定义";
} else {
   echo "数组未被定义";
}

Wenn der obige Code ausgeführt wird, lautet das Ausgabeergebnis „Array wurde definiert“.

Es ist zu beachten, dass die Funktion array_key_exists() false zurückgibt, wenn der angegebene Schlüsselname nicht im Array vorhanden ist, was bedeutet, dass das Array nicht definiert ist.

Der Beispielcode lautet wie folgt:

$myArray = array('apple', 'banana', 'orange');

if(array_key_exists(3, $myArray)) {
   echo "数组已被定义";
} else {
   echo "数组未被定义";
}

Wenn der obige Code ausgeführt wird, lautet das Ausgabeergebnis „Array ist nicht definiert“.

3. Der Unterschied zwischen der Funktion isset() und der Funktion array_key_exists()

In der obigen Einführung haben wir die Verwendung der Funktion isset() und der Funktion array_key_exists() kennengelernt. Sie können beide verwendet werden, um zu bestimmen, ob das Array definiert ist. In praktischen Anwendungen sollten wir jedoch basierend auf der spezifischen Situation auswählen, welche Funktion verwendet werden soll. Der Unterschied zwischen der Funktion

isset() und der Funktion array_key_exists() spiegelt sich hauptsächlich in den folgenden zwei Aspekten wider:

  1. Der Umgang mit leeren Elementen ist unterschiedlich.

Wenn Sie die Funktion isset() zur Beurteilung eines Arrays verwenden, Solange das Array ein Element enthält, wird es als gesetzt betrachtet. Dies bedeutet, dass die Funktion isset() das Array weiterhin als definiert betrachtet, selbst wenn alle Elemente im Array gelöscht werden.

Die Funktion array_key_exists() ermittelt jedoch nur, ob ein angegebener Schlüsselname im Array vorhanden ist. Wenn alle Elemente im Array gelöscht werden, der angegebene Schlüssel jedoch noch vorhanden ist, berücksichtigt die Funktion array_key_exists() das Array weiterhin als definiert.

  1. Undefinierte Variablen werden unterschiedlich behandelt

Wenn Sie die Funktion isset() verwenden, um eine undefinierte Variable zu ermitteln, gibt isset() false zurück, was bedeutet, dass die Variable als undefiniert gilt.

Wenn Sie die Funktion array_key_exists() verwenden, um eine undefinierte Variable zu ermitteln, gibt array_key_exists() direkt eine Warnmeldung aus. Wenn sie in einer Funktion verwendet wird, kann dies dazu führen, dass die Funktion fehlschlägt.

Daher muss die Auswahl der zu verwendenden Funktion auf der spezifischen Situation basieren.

4. Zusammenfassung

In PHP können Sie die Funktionen isset() und array_key_exists() verwenden, um festzustellen, ob ein Array definiert ist. Es ist jedoch zu beachten, dass die Verwendung dieser beiden Funktionen nicht identisch ist und die Auswahl auf der spezifischen Situation basieren muss.

Wenn wir feststellen möchten, ob eine Variable definiert ist, sollten wir die Funktion isset() verwenden.

Wenn wir feststellen möchten, ob ein Array definiert ist und prüfen müssen, ob das Array leer ist (d. h. ob die Anzahl der Elemente 0 ist), sollten wir die Funktion isset() verwenden Ob ein angegebenes Element im Array-Schlüsselnamen vorhanden ist, sollten Sie die Funktion array_key_exists() verwenden.

In tatsächlichen Anwendungen sollten wir je nach Situation die Funktion isset() oder array_key_exists() verwenden, um sicherzustellen, dass unser Programm ordnungsgemäß ausgeführt wird.

Das obige ist der detaillierte Inhalt vonPHP bestimmt, ob ein Array definiert werden soll. 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