如何在取消设置数组中的值后重置键?

时间:2017-10-06 09:12:04

标签: php arrays

采取以下数组:

$fruits = [
    'apple', 'banana', 'grapefruit', 'orange', 'melon'
];

葡萄柚只是令人作呕,所以我想解开它。

$key = array_search('grapefruit', $fruit);
unset($fruit[$key]);

葡萄柚不在我的$fruit阵列中,但我的钥匙不再正确编号。

array(4) {
    [0] => 'apple'
    [1] => 'banana'
    [3] => 'orange'
    [4] => 'melon'
}

我可以遍历数组并创建一个新数组,但我想知道是否有更简单的方法来重置密钥。

1 个答案:

答案 0 :(得分:4)

使用array_values()

array_values( $array );

测试结果:

[akshay@localhost tmp]$ cat test.php
<?php

$fruits = [
    'apple', 'banana', 'grapefruit', 'orange', 'melon'
];

$key = array_search('grapefruit', $fruits);
unset($fruits[$key]);

// before
print_r($fruits);

//after
print_r(array_values($fruits));
?>

执行:

[akshay@localhost tmp]$ php test.php
Array
(
    [0] => apple
    [1] => banana
    [3] => orange
    [4] => melon
)
Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [3] => melon
)