Heim >Backend-Entwicklung >PHP-Problem >So löschen Sie nicht numerische Elemente in einem Array in PHP

So löschen Sie nicht numerische Elemente in einem Array in PHP

PHPz
PHPzOriginal
2023-04-19 11:41:47781Durchsuche

In der PHP-Entwicklung ist Array ein sehr wichtiger Datentyp. Möglicherweise müssen wir alle nicht numerischen Elemente im Array löschen, um komplexere Berechnungen oder andere Operationen durchzuführen.

In diesem Artikel wird erläutert, wie Sie mit PHP nicht-numerische Elemente in einem Array löschen, und es werden einige praktische Beispiele bereitgestellt, die den Lesern helfen sollen, diesen Prozess besser zu verstehen.

  1. Verwenden Sie die in PHP integrierte Funktion array_filter()

array_filter(), um das Array zu durchlaufen und Elemente zu löschen, die die Bedingungen nicht erfüllen. Wir können diese Funktion verwenden, um ein Array durch eine benutzerdefinierte Funktion zu filtern und dabei nur numerische Elemente beizubehalten. Das Folgende ist ein Codebeispiel:

$array = array("string", 1234, "5", "67.8", 90);

function only_num($var)
{
    return is_numeric($var);
}

$result = array_filter($array, "only_num");

print_r($result);  //输出:Array ( [1] => 1234 [2] => 5 [3] => 67.8 [4] => 90 )

Im obigen Beispiel verwenden wir die Funktion is_numeric(), die bestimmt, ob die angegebene Variable eine Zahl oder eine Zahlenfolge ist. Anschließend übergeben wir diese Funktion als Callback-Funktion an die Funktion array_filter(), um das Array zu verarbeiten.

  1. Reguläre Ausdrücke verwenden

Reguläre Ausdrücke sind ein sehr nützliches Textverarbeitungstool, mit dem Text mit einem bestimmten Muster abgeglichen und ersetzt werden kann. In diesem Fall können wir reguläre Ausdrücke verwenden, um alle Zahlen abzugleichen und Nicht-Zahlenelemente zu entfernen.

Das Folgende ist ein Beispiel für einen regulären Ausdruck zum Bereinigen eines Arrays:

$array = array("string", 1234, "5", "67.8", 90);

foreach ($array as $key => $value) {
    if (preg_match('/^\d+$/',$value) !== 1) {
        unset($array[$key]);
    }
}

print_r($array);  //输出:Array ( [1] => 1234 [2] => 5 [4] => 90 )

Im obigen Beispiel verwenden wir die Funktion preg_match() und den regulären Ausdruck „/^d+$/“, um alle numerischen Zeichenfolgen abzugleichen. Wenn die Übereinstimmung erfolgreich ist (1 wird zurückgegeben), ist das Element eine Zahl. Andernfalls rufen wir die Funktion unset() auf, um das Element zu löschen. Abschließend geben wir die restlichen numerischen Elemente auf dem Bildschirm aus.

  1. Verwenden der Funktion array_walk()

Die Funktion array_walk() ist eine weitere in PHP integrierte Funktion, die zum Durchlaufen eines Arrays und zum Ausführen einer benutzerdefinierten Funktion für jedes Element verwendet werden kann. Mit dieser Funktion können wir nicht-numerische Elemente aus einem Array löschen.

Hier ist ein Beispiel für die Verwendung der Funktion array_walk() zum Bereinigen eines Arrays:

$array = array("string", 1234, "5", "67.8", 90);

function only_num(&$value, $key)
{
    if (!is_numeric($value)) {
        unset($value);
    }
}

array_walk($array, "only_num");

print_r($array);  //输出:Array ( [1] => 1234 [2] => 5 [3] => 67.8 [4] => 90 )

Im obigen Beispiel übergeben wir die Rückruffunktion an die Funktion array_walk(), um nicht numerische Elemente zu löschen. Wenn das Element keine Zahl ist, entfernen wir es, sodass nur numerische Elemente übrig bleiben.

Fazit

In der PHP-Entwicklung ist die Verwendung von Arrays sehr verbreitet. Manchmal müssen wir alle nicht numerischen Elemente aus einem Array entfernen, um komplexe Berechnungen oder andere Operationen durchzuführen. In diesem Artikel werden drei verschiedene Möglichkeiten beschrieben, um dieses Ziel zu erreichen: die Verwendung der in PHP integrierten Funktion array_filter(), die Verwendung regulärer Ausdrücke und die Verwendung der Funktion array_walk(). Sie können je nach Bedarf verschiedene Methoden auswählen und diese entsprechend der tatsächlichen Situation ändern und anpassen. In der tatsächlichen Entwicklung dürfte diese Technik sehr nützlich sein.

Das obige ist der detaillierte Inhalt vonSo löschen Sie nicht numerische Elemente in einem 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