PHP sendet die Werte im Array an die benutzerdefinierte Funktion und gibt eine String-Funktion array_reduce() zurück

黄舟
Freigeben: 2023-03-17 08:22:01
Original
1586 Leute haben es durchsucht

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"));
?>
Nach dem Login kopieren

Definition und Verwendung

<🎜 Die Funktion >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.

Syntax

array_reduce(array,myfunction,initial)
Nach dem Login kopieren
参数描述
array必需。规定数组。
myfunction必需。规定函数的名称。
initial可选。规定发送到函数处理的第一个值。
Technische Details

< td width="967" valign="top" style="word-break: break-all;">Seit PHP 5.3.0 akzeptiert der Anfangsparameter mehrere Typen (gemischt) und Versionen vor PHP 5.3.0 unterstützen nur Ganzzahlen .
Rückgabewert:Gibt den Ergebniswert zurück.
PHP-Version: 4.0.5+
Protokoll aktualisieren

:

更多实例

实例 1

带 initial 参数:

<?php
function myfunction($v1,$v2)
{
return $v1 . "-" . $v2;
}
$a=array("Dog","Cat","Horse");
print_r(array_reduce($a,"myfunction",5));
?>
Nach dem Login kopieren

实例 2

返回总和:

<?php
function myfunction($v1,$v2)
{
return $v1+$v2;
}
$a=array(10,15,20);
print_r(array_reduce($a,"myfunction",5));
?>
Nach dem Login kopieren

array_reduce的强大不仅如此。看下面的例子。将数组$arr的首个元素弹出,作为初始值,避免min($result['min'], $item['min'])中$result为空。

否则最终结果min是空的。

$arr = array( 
    array(&#39;min&#39; => 1.5456, &#39;max&#39; => 2.28548, &#39;volume&#39; => 23.152), 
    array(&#39;min&#39; => 1.5457, &#39;max&#39; => 2.28549, &#39;volume&#39; => 23.152), 
    array(&#39;min&#39; => 1.5458, &#39;max&#39; => 2.28550, &#39;volume&#39; => 23.152), 
    array(&#39;min&#39; => 1.5459, &#39;max&#39; => 2.28551, &#39;volume&#39; => 23.152), 
    array(&#39;min&#39; => 1.5460, &#39;max&#39; => 2.28552, &#39;volume&#39; => 23.152), 
); 

$initial = array_shift($arr); 

$t = array_reduce($arr, function($result, $item) { 
    $result[&#39;min&#39;] = min($result[&#39;min&#39;], $item[&#39;min&#39;]); 
    $result[&#39;max&#39;] = max($result[&#39;max&#39;], $item[&#39;max&#39;]); 
    $result[&#39;volume&#39;] += $item[&#39;volume&#39;]; 

    return $result; 
}, $initial);
Nach dem Login kopieren

 总之,这种写法比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!

Verwandte Etiketten:
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