Heim > Backend-Entwicklung > PHP-Problem > Existiert das PHP-Array und wie lautet der numerische Wert?

Existiert das PHP-Array und wie lautet der numerische Wert?

PHPz
Freigeben: 2023-05-06 09:08:06
Original
486 Leute haben es durchsucht

In der PHP-Programmierung sind Arrays eine der häufigsten Datenstrukturen. Wenn wir die Position finden müssen, an der ein bestimmter Wert in einem Array erscheint, kann das folgende Problem auftreten: Wie erfahren wir die Position des Werts im Array? Wie kann festgestellt werden, ob der Wert im Array vorhanden ist?

In diesem Artikel werden die oben genannten Probleme im Detail besprochen und Lösungen bereitgestellt.

1. Bestimmen Sie, ob ein bestimmter Wert im Array vorhanden ist.

Wir können die Funktion in_array verwenden, um festzustellen, ob ein Wert im Array vorhanden ist. Diese Funktion durchsucht das Array nach einem bestimmten Wert und gibt einen booleschen Wert (True oder False) zurück. Wenn True zurückgegeben wird, bedeutet dies, dass der Wert im Array vorhanden ist. Wenn False zurückgegeben wird, bedeutet dies, dass der Wert nicht im Array vorhanden ist.

Hier ist ein Beispielcode:

$my_array = array('apple', 'orange', 'banana');
if (in_array('apple', $my_array)) {
    echo "存在";
} else {
    echo "不存在";
}
Nach dem Login kopieren

Der obige Code prüft, ob das Array $my_array die Zeichenfolge „apple“ enthält. Wenn es existiert, lautet die Ausgabe „existiert“. Wenn es nicht existiert, lautet die Ausgabe „nicht vorhanden“.

2. Finden Sie die Position des Werts im Array.

Wenn wir die Position des Werts im Array ermitteln müssen, können wir dies mit der Funktion array_search erreichen. Diese Funktion sucht nach dem angegebenen Wert im Array und gibt den Schlüsselnamen des Werts im Array zurück (der Schlüsselname ist die Position des Werts). Wenn der Wert nicht gefunden wird, wird False zurückgegeben.

Hier ist ein Beispielcode:

$my_array = array('apple', 'orange', 'banana');
$position = array_search('apple', $my_array);
if ($position !== False) {
    echo "该数值在数组中的位置为:" . $position;
} else {
    echo "该数值不存在于数组中";
}
Nach dem Login kopieren

Der obige Code ermittelt die Position der Zeichenfolge „apple“ im Array $my_array. Wenn er vorhanden ist, wird die Position des Werts im Array ausgegeben. Wenn er nicht vorhanden ist, wird „Der Wert existiert nicht im Array“ ausgegeben.

Es ist zu beachten, dass, wenn der von der Funktion $array_search zurückgegebene Wert 0 ist (d. h. der Wert befindet sich an der ersten Position des Arrays), er in der Funktion als Falsch beurteilt wird. Daher müssen wir Anweisungen wie $position !== False verwenden, um den Rückgabewert der Funktion $array_search zu bestimmen.

3. Finden Sie alle Positionen, an denen ein bestimmter Wert im Array erscheint.

Wenn wir alle Positionen finden müssen, an denen ein bestimmter Wert im Array erscheint, können wir dazu eine While-Schleife in Kombination mit der Funktion array_search verwenden. Der spezifische Code lautet wie folgt:

$my_array = array('apple', 'orange', 'banana', 'apple', 'orange', 'apple');
$search_value = 'apple';
$offset = 0;
while (($position = array_search($search_value, $my_array, $offset)) !== False) {
    echo "该数值在数组中的位置为:" . $position . "<br/>";
    $offset = $position + 1;
}
Nach dem Login kopieren

Der obige Code findet alle Positionen der Zeichenfolge „apple“ im Array $my_array und gibt diese Positionen der Reihe nach aus. Unter anderem wird die Variable $offset verwendet, um die Startposition der Suche festzulegen. Wenn $offset nicht festgelegt ist, beginnt die Funktion array_search mit der Suche ab dem ersten Element des Arrays.

Es ist zu beachten, dass die Funktion array_search False zurückgibt, wenn der angegebene Wert nicht gefunden werden kann. Daher sollte !== False zur Beurteilung des Rückgabewerts verwendet werden.

4. Bestimmen Sie, ob es eine numerische Position im Array gibt.

Wenn wir die Rangfolge eines bestimmten Werts im Array kennen müssen (d. h. die Position des Werts im Array), können wir array_flip und verwenden array_keys-Funktionen ausführen. Der spezifische Code lautet wie folgt:

$my_array = array('apple', 'orange', 'banana', 'apple', 'orange', 'apple');
$search_value = 'orange';
$keys = array_keys(array_flip($my_array));
$position = array_search($search_value, $keys);
if ($position !== False) {
    echo "该数值在数组中的排名为:" . ($position + 1);
} else {
    echo "该数值不存在于数组中";
}
Nach dem Login kopieren

Der obige Code verwendet zunächst die Funktion array_flip, um alle Schlüsselwerte im Array auszutauschen (d. h. Werte in Schlüssel und Schlüssel in Werte zu ändern) und verwendet dann array_keys Funktion, um alle Schlüsselnamen (d. h. alle Werte) zu erhalten. Als nächstes können wir die Funktion array_search verwenden, um die Position des angegebenen Werts im Array zu finden. Schließlich ergibt das Hinzufügen von 1 zu dieser Position die Rangfolge des Werts im Array.

Das Obige ist die Methode in PHP, um zu bestimmen, ob ein bestimmter Wert in einem Array vorhanden ist, und die Methode, um die Position des Werts im Array zu finden. Es ist zu beachten, dass wir in der tatsächlichen Entwicklung die am besten geeignete Methode auswählen sollten, um die beste Leistung und Effizienz zu erzielen.

Das obige ist der detaillierte Inhalt vonExistiert das PHP-Array und wie lautet der numerische Wert?. 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