重置 PHP 数组索引

我有一个 PHP 数组,看起来像这样:

[3] => Hello
[7] => Moo
[45] => America

是哪个 PHP 函数造成的?

[0] => Hello
[1] => Moo
[2] => America
103536 次浏览

array_values()函数 [ < a href = “ http://php.net/Manual/en/Function.array-values.php”rel = “ noReferrer”> docs ]做到了这一点:

$a = array(
3 => "Hello",
7 => "Moo",
45 => "America"
);
$b = array_values($a);
print_r($b);
Array
(
[0] => Hello
[1] => Moo
[2] => America
)

使用 Array _ keys ()函数获取数组的键,使用 Array _ values ()函数获取数组的值。

你想得到一个数组的值:

$array = array( 3 => "Hello", 7 => "Moo", 45 => "America" );


$arrayValues = array_values($array);// returns all values with indexes
echo '<pre>';
print_r($arrayValues);
echo '</pre>';

产出:

Array
(
[0] => Hello
[1] => Moo
[2] => America
)

你想得到一个数组的键:

$arrayKeys = array_keys($array);// returns all keys with indexes
echo '<pre>';
print_r($arrayKeys);
echo '</pre>';

产出:

Array
(
[0] => 3
[1] => 7
[2] => 45
)

如果出于某种原因需要数组的 重置密钥计数;

$array1 = [
[3]  => 'Hello',
[7]  => 'Moo',
[45] => 'America'
];
$array1 = array_merge($array1);
print_r($array1);

产出:

Array(
[0] => 'Hello',
[1] => 'Moo',
[2] => 'America'
)

你可以使用更有效的方法:

$a = [
3 => "Hello",
7 => "Moo",
45 => "America"
];


$a = [...$a];