Heim > Artikel > Backend-Entwicklung > PHP sendet die Werte im Array an die benutzerdefinierte Funktion und gibt eine String-Funktion array_reduce() zurück
Instanz
Sendet den Wert im Array an den BenutzerBenutzerdefinierte Funktion und gibt eine Zeichenfolge zurück:
<?php function myfunction($v1,$v2) { return $v1 . "-" . $v2; } $a=array("Dog","Cat","Horse"); print_r(array_reduce($a,"myfunction")); ?>
Definition und Verwendung
array_reduce() sendet die Werte im Array an die benutzerdefinierte Funktion und gibt einen String zurück. Hinweis: Wenn das Array leer ist oder kein Anfangswert übergeben wird, gibt diese Funktion NULL zurück. Syntaxarray_reduce(array,myfunction,initial)
参数 | 描述 |
array | 必需。规定数组。 |
myfunction | 必需。规定函数的名称。 |
initial | 可选。规定发送到函数处理的第一个值。 |
Rückgabewert: | Gibt den Ergebniswert zurück. |
PHP-Version: | 4.0.5+ |
Protokoll aktualisieren: | Seit PHP 5.3.0 akzeptiert der Anfangsparameter mehrere Typen (gemischt) und Versionen vor PHP 5.3.0 unterstützen nur Ganzzahlen .
更多实例
实例 1
带 initial 参数:
<?php function myfunction($v1,$v2) { return $v1 . "-" . $v2; } $a=array("Dog","Cat","Horse"); print_r(array_reduce($a,"myfunction",5)); ?>
实例 2
返回总和:
<?php function myfunction($v1,$v2) { return $v1+$v2; } $a=array(10,15,20); print_r(array_reduce($a,"myfunction",5)); ?>
array_reduce的强大不仅如此。看下面的例子。将数组$arr的首个元素弹出,作为初始值,避免min($result['min'], $item['min'])中$result为空。
否则最终结果min是空的。
$arr = array( array('min' => 1.5456, 'max' => 2.28548, 'volume' => 23.152), array('min' => 1.5457, 'max' => 2.28549, 'volume' => 23.152), array('min' => 1.5458, 'max' => 2.28550, 'volume' => 23.152), array('min' => 1.5459, 'max' => 2.28551, 'volume' => 23.152), array('min' => 1.5460, 'max' => 2.28552, 'volume' => 23.152), ); $initial = array_shift($arr); $t = array_reduce($arr, function($result, $item) { $result['min'] = min($result['min'], $item['min']); $result['max'] = max($result['max'], $item['max']); $result['volume'] += $item['volume']; return $result; }, $initial);
总之,这种写法比foreach更优雅,更少的定义变量。推荐使用。
Das obige ist der detaillierte Inhalt vonPHP sendet die Werte im Array an die benutzerdefinierte Funktion und gibt eine String-Funktion array_reduce() zurück. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!