Heim > Artikel > Backend-Entwicklung > PHP-Array-Lernen: Digitale Elemente extrahieren und in ein neues Array einfügen
Im vorherigen Artikel haben wir die Array-Deemption und -Deduplizierung vorgestellt, also die Methode zum Löschen leerer Elemente und doppelter Elemente im Array. Wenn Sie interessiert sind, können Sie auf den Link klicken, um zu lesen → „ So entfernen Sie leere oder.“ doppelte Elemente beim PHP-Array-Lernen 》. Dieses Mal setzen wir das Studium und die Praxis von PHP-Arrays fort und sprechen darüber, wie man Arrays filtert und numerische Elemente extrahiert.
→Verwandte Empfehlungen: 《Zusammenfassung der PHP-Array-Lernreihe (kontinuierlich aktualisiert~)》
Der Hauptinhalt des heutigen Artikels lautet: Verwenden Sie PHP, um Arrays zu filtern und numerische Elemente (numerische Werte oder numerische Zeichenfolgen) herauszufiltern ) und kombinieren Sie sie dann zu einem neuen Array, um sie zurückzugeben.
Im Folgenden stellen wir Ihnen zwei Implementierungsmethoden vor. Zuerst beginnen wir mit der bekannten Methode „foreach-Schleife“ und stellen dann eine Methode zum Filtern von Arrays mithilfe der integrierten Funktionen von PHP vor.
Methode 1: Verwenden Sie die foreach-Anweisung
<?php $array = array("php", 11, '', 12, "PHP中文网",13,"green",2021,"mysql","14",15); foreach($array as $value){ if(is_numeric($value)){ $result[]=$value; } } var_dump($result); ?>
, um den Code zu analysieren:
Verwenden Sie die foreach-Anweisung, um das Array zu durchlaufen und den Schlüsselwert $value
in jeder Schleife zuzuweisen; $value
;
利用is_numeric()
函数检测$value
是否为数字或数字字符串;
如果是数字或数字字符串,则将$value
存入$results
数组中。
这样$results数组中的全是$array数组中的数字元素,使用var_dump($result)
,输出结果为:
方法2:使用array_filter() 函数
在之前的文章中,我们已经知道array_filter() 函数可以用回调函数来过滤数组中的元素,会将数组元素传递给回调函数进行处理。
直接给出实现代码:
<?php $array = array("php", 11, '', 12, "PHP中文网",13,"green",2021,"mysql","14",15); function filter_number($value){ if(is_numeric($value)){ return TRUE; } } $result=array_filter($array,"filter_number"); var_dump($result); ?>
输出结果为:
下面来了解一下array_filter() 函数
array_filter() 函数会迭代数组中的每个值,将每个键值传递给用户定义的函数或回调函数;如果回调函数返回 true,则把输入数组中的当前键值返回给结果数组(数组键名保持不变)。语法格式为:
array_filter ($array , function callbackfn ($value[, $key]),$mode)
$array :数组对象,不可省略。
function callbackfn ($value[, $key])
Verwenden Sie die Funktion is_numeric()
, um zu erkennen, ob $value
eine Zahl oder eine Zahlenfolge ist;
Wenn es eine Zahl oder ein ist Zahlenfolge, dann $value
im Array $results
speichern.
var_dump($result)
lautet das Ausgabeergebnis: Geben Sie den Implementierungscode direkt an: rrreeeDas Ausgabeergebnis ist:
Werfen wir einen Blick auf die Funktion array_filter()
🎜Die Funktion array_filter() durchläuft jeden Wert im Array und übergibt jeden Schlüsselwert an eine benutzerdefinierte Funktion oder Callback-Funktion; wenn die Callback-Funktion „true“ zurückgibt, wird der aktuelle Schlüsselwert im Eingabearray an das Ergebnisarray zurückgegeben (der Array-Schlüsselname bleibt unverändert). Das Syntaxformat lautet: 🎜rrreee🎜🎜🎜$array: Array-Objekt, kann nicht weggelassen werden. 🎜🎜🎜🎜function callbackfn ($value[, $key])
: Callback-Funktion, die weggelassen werden kann; wenn die Callback-Funktion weggelassen wird, werden standardmäßig Nullwerte gefiltert. 🎜🎜🎜🎜$mode: kann weggelassen werden, bestimmt die vom Rückruf empfangene Parameterform: 🎜🎜🎜🎜ARRAY_FILTER_USE_KEY – Rückruf akzeptiert den Schlüsselnamen als einzigen Parameter 🎜🎜🎜🎜ARRAY_FILTER_USE_BOTH – Rückruf akzeptiert sowohl Schlüsselnamen als auch Schlüsselwert 🎜 🎜🎜 🎜Standardwert Wenn 0 , wird nur der Wert als einziger Parameter des Callback-Callbacks übergeben. 🎜🎜🎜🎜🎜🎜🎜Das ist alles. Wenn Sie noch etwas wissen möchten, können Sie hier klicken. → →🎜php-Video-Tutorial🎜🎜🎜Abschließend empfehle ich ein kostenloses Video-Tutorial zu PHP-Arrays: 🎜PHP-Funktions-Array-Array-Funktions-Video-Erklärung🎜, kommen Sie und lernen Sie! 🎜Das obige ist der detaillierte Inhalt vonPHP-Array-Lernen: Digitale Elemente extrahieren und in ein neues Array einfügen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!