为什么array_values比foreach更好



为什么 array_values()比foreach循环更好地重新索引数组?

示例1:

$arrays = [
  1 => '0',
  2 => '1',
  3 => '2',
  4 => '3',
  5 => '',
  6 => '',
  7 => '7',
  8 => [
    0 => 'toto',
    1 => 'manu',
    2 => 'noé',
    3 => 'david'
  ]
];
$arrayNonAssoc = [];
foreach ($arrays as $array) {
     $arrayNonAssoc[] = $array;
}

所以示例1 是要不执行的错误和...

示例2:

$arrays = [
  1 => '0',
  2 => '1',
  3 => '2',
  4 => '3',
  5 => '',
  6 => '',
  7 => '7',
  8 => [
    0 => 'toto',
    1 => 'manu',
    2 => 'noé',
    3 => 'david'
  ]
];
var_dump(array_values($arrays));

我已经阅读了有关它的内容,但是我没有发现任何阐述。示例1 示例2 返回相同的结果...

是关于性能的吗?

  1. 更少的代码。
  2. 更容易理解代码,因为这正是array_values的目的,但是您的foreach可以做任何事情,除非您阅读和理解。
  3. array_values是在幕后C中实现的本机PHP函数,并且比自定义PHP代码更具性能。

最新更新