PHP是一种易于学习的语言,但触发我的一件事是PHP在函数参数中的位置。
示例1
array_walk($array, $callback);
array_map($callback, $array);
示例2
array_push($array, $mixed);
array_search($mixed, $array);
这根本没有任何意义。 PHP开发人员会故意这样做吗?
答案 0 :(得分:4)
这与它们对数组的处理有关。 array_walk
通过引用修改数组,而array_map
返回新数组。
同样,array_push
通过引用修改数组,array_search
从数组中返回一个值。
数组在参数中排在首位;将倾向于表示该数组将被函数修改。作为开发人员,了解哪些函数可能会修改传入的数组非常有用。
示例:
<?php
$myArray = [1,2,3];
array_push($myArray,4);
var_dump($myArray); // array(1,2,3,4);
$myArray = [1,2,3];
$result = array_map(function ($val) { return $val * 2; }, $myArray);
var_dump($myArray); // array(1,2,3);
var_dump($result); // array(2,4,6);