为什么PHP有如此奇怪的函数参数定位?

  • 本文关键字:函数 参数 定位 PHP php
  • 更新时间 :
  • 英文 :


PHP是一门容易学习的语言,但触发我的一件事是PHP的函数参数位置。

示例 #1

array_walk($array, $callback);
array_map($callback, $array);

示例 #2

array_push($array, $mixed);
array_search($mixed, $array);

这没有任何意义。PHP 开发人员是故意这样做的吗?

这完全与他们如何处理数组有关。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);

最新更新