在 unset 操作后重置 PHP 数组索引从 0 开始
Reset PHP array index to start from 0 after unset operation
我有一个数组
$cars = array("Volvo", "BMW", "Toyota", "Mercedes");
我想删除第一个元素 "Volvo" 我用这个
unset($cars[0]);
现在我有一个这样的数组:
Array
(
[1] Bmw
[2] Toyota
[3] Mercedes
)
但我希望我的数组再次从零开始,就像这样:
Array
(
[0] Bmw
[1] Toyota
[2] Mercedes
)
怎么做?
使用array_values
函数重置数组,在unset操作后。
请注意,此方法适用于所有情况,包括取消设置数组中的任何索引键(开头/中间/ 结束).
array_values() returns all the values from the array and indexes the array numerically.
尝试 (Rextester DEMO):
$cars = array("Volvo", "BMW", "Toyota", "Mercedes");
unset($cars[0]);
$cars = array_values($cars);
var_dump($cars); // check and display the array
使用array_slice()
代替select数组的特殊部分
$newCars = array_slice($cars, 1)
检查结果 demo
假设您总是想从数组中删除第一个元素,array_shift
函数 returns 第一个元素并重新索引数组的其余部分。
$cars = array("Volvo", "BMW", "Toyota", "Mercedes");
$first_car = array_shift($cars);
var_dump($first_car);
// string(5) "Volvo"
var_dump($cars)
// array(3) {
// [0] =>
// string(3) "BMW"
// [1] =>
// string(6) "Toyota"
// [2] =>
// string(8) "Mercedes"
//}
我有一个数组
$cars = array("Volvo", "BMW", "Toyota", "Mercedes");
我想删除第一个元素 "Volvo" 我用这个
unset($cars[0]);
现在我有一个这样的数组:
Array
(
[1] Bmw
[2] Toyota
[3] Mercedes
)
但我希望我的数组再次从零开始,就像这样:
Array
(
[0] Bmw
[1] Toyota
[2] Mercedes
)
怎么做?
使用array_values
函数重置数组,在unset操作后。
请注意,此方法适用于所有情况,包括取消设置数组中的任何索引键(开头/中间/ 结束).
array_values() returns all the values from the array and indexes the array numerically.
尝试 (Rextester DEMO):
$cars = array("Volvo", "BMW", "Toyota", "Mercedes");
unset($cars[0]);
$cars = array_values($cars);
var_dump($cars); // check and display the array
使用array_slice()
代替select数组的特殊部分
$newCars = array_slice($cars, 1)
检查结果 demo
假设您总是想从数组中删除第一个元素,array_shift
函数 returns 第一个元素并重新索引数组的其余部分。
$cars = array("Volvo", "BMW", "Toyota", "Mercedes");
$first_car = array_shift($cars);
var_dump($first_car);
// string(5) "Volvo"
var_dump($cars)
// array(3) {
// [0] =>
// string(3) "BMW"
// [1] =>
// string(6) "Toyota"
// [2] =>
// string(8) "Mercedes"
//}