为什么 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 返回相同的结果...
是关于性能的吗?
- 更少的代码。
- 更容易理解代码,因为这正是
array_values
的目的,但是您的foreach
可以做任何事情,除非您阅读和理解。 -
array_values
是在幕后C中实现的本机PHP函数,并且比自定义PHP代码更具性能。