Heim  >  Artikel  >  Backend-Entwicklung  >  So entfernen Sie den leeren Elementindex im Array in PHP

So entfernen Sie den leeren Elementindex im Array in PHP

PHPz
PHPzOriginal
2023-04-12 09:18:57479Durchsuche

Lassen Sie uns zunächst verstehen, was ein leerer Elementindex ist.

In PHP bestehen Arrays aus Schlüsseln und Werten, und ihre entsprechende Beziehung ähnelt der Beziehung zwischen Schlüsseln und Werten in einem Wörterbuch. In PHP können die Schlüssel in einem Array Zahlen oder Zeichenfolgen sein. Wenn wir eine Instanz aus dem Array löschen, wird die Instanz aus dem Array entfernt, ihr Index bleibt jedoch im Array. Wenn wir alle Elemente im Array löschen, das Array aber trotzdem beibehalten, ist es ein leeres Array und die Schlüssel des leeren Arrays sind weiterhin vorhanden. In diesem leeren Array ist auch der dem Schlüssel entsprechende Wert leer, daher nennen wir ihn einen leeren Elementindex.

Wenn das Array viele leere Elementindizes enthält, wirken sich diese leeren Elemente auf unsere Durchquerung und Verarbeitung des Arrays aus. Daher müssen wir diese leeren Elemente manchmal entfernen. Schauen wir uns als Nächstes an, wie man leere Elementindizes im Array entfernt und die Indizes der Reihe nach in PHP zurücksetzt.

In PHP gibt es zwei sehr nützliche Funktionen, die zum Entfernen leerer Elementindizes in Arrays verwendet werden können: array_filter() und array_values(). Die erste Funktion des Arrays wird verwendet, um die Rückruffunktion im Array zu filtern, und die zweite Funktion wird verwendet, um den Index aller Schlüssel im Array zurückzusetzen.

Lassen Sie uns zunächst einen Blick auf die grundlegende Syntax der Funktion array_filter() werfen.

array array_filter( array $array [, callable $callback [, int $flag = 0 ]] )

Die Funktion akzeptiert ein Array als Parameter und gibt ein neues gefiltertes Array zurück. Der zweite optionale Parameter $callback gibt eine Callback-Funktion an, die für jedes Element im angegebenen Array aufgerufen wird. Wenn die Callback-Funktion „true“ zurückgibt, wird das Element in das neue Array aufgenommen, wenn sie „false“ zurückgibt, wird das Element aus dem neuen Array entfernt.

Schauen wir uns ein praktisches Beispiel an:

$array = array("foo", "", "bar", "", "baz");
$filtered_array = array_filter($array);
print_r($filtered_array);

Im obigen Beispiel enthält das Array $array fünf Elemente, von denen zwei leere Elemente sind. Mit der Funktion array_filter() werden leere Elemente im Array entfernt und ein neues Array $filtered_array zurückgegeben. Die Ausgabe lautet wie folgt:

Array
(
    [0] => foo
    [2] => bar
    [4] => baz
)

Im obigen Ergebnis können wir sehen, dass das neue Array $filtered_array keine leeren Elementindizes enthält.

Als nächstes schauen wir uns an, wie man den Index aller Schlüssel im Array zurücksetzt. Dies kann durch die integrierte Funktion array_values() in PHP erreicht werden. Diese Funktion akzeptiert ein Array als Parameter und gibt ein neues Array zurück, in dem alle Schlüssel auf aufeinanderfolgende Ganzzahlen zurückgesetzt werden.

Sehen wir uns ein praktisches Beispiel an:

$array = array("foo", "bar", "baz");
$indexed_array = array_values($array);
print_r($indexed_array);

Im obigen Beispiel erhalten wir mit der Funktion array_values() ein Array $array ohne Schlüssel, ein neues Array $indexed_array generiert, in dem alle Schlüsselnamen auf fortlaufende Ganzzahlen zurückgesetzt werden. Die Ausgabe lautet wie folgt:

Array
(
    [0] => foo
    [1] => bar
    [2] => baz
)

Im obigen Ergebnis können wir sehen, dass die Schlüsselnamen im neuen Array $indexed_array korrekt auf aufeinanderfolgende Ganzzahlen gesetzt wurden.

Jetzt können wir diese beiden Funktionen zusammen verwenden, um ein Array mit leeren Elementindizes zu verarbeiten und ein neues Array mit neu eingegebenen Indizes zurückzugeben.

Schauen wir uns ein praktisches Beispiel an:

$array = array("foo", "", "bar", "", "baz");
$filtered_array = array_filter($array);
$indexed_array = array_values($filtered_array);
print_r($indexed_array);

Im obigen Beispiel verwenden wir zwei Funktionen array_filter() und array_values() und verketten sie mithilfe von. Zuerst verwenden wir die Funktion array_filter(), um leere Elementindizes im Array zu entfernen, und verwenden dann die Funktion array_values(), um die Indizes aller Schlüssel im neuen Array zurückzusetzen. Die Ausgabe lautet wie folgt:

Array
(
    [0] => foo
    [1] => bar
    [2] => baz
)

In den obigen Ergebnissen können wir sehen, dass das neue Array $indexed_array keine leeren Elementindizes mehr enthält und die Indizes aller Schlüssel auf aufeinanderfolgende Ganzzahlen zurückgesetzt wurden.

Zusammenfassend lässt sich sagen, dass wir mithilfe der Funktionen array_filter() und array_values() problemlos mit leeren Elementindizes in PHP-Arrays umgehen und die Indizes aller Schlüssel im neuen Array korrekt festlegen können Sehr hilfreich für unser PHP-Code-Schreiben.

Das obige ist der detaillierte Inhalt vonSo entfernen Sie den leeren Elementindex im Array in PHP. 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