Php 重置数组的数字键
我有一个这样的数组Php 重置数组的数字键,php,arrays,Php,Arrays,我有一个这样的数组 $array = array( 1 => 'one', 2 => 'two', 3 => 'three', 'row' => 'four', 'newRow' => 'five', ); 我需要重新索引数字键-1,2,3 预期产出: 我试过使用数组\u值,但是字符串键也会被索引 最好的方法是什么 谢谢。使用array\u merge重新索引数组 $array = array( 1 =>
$array = array(
1 => 'one',
2 => 'two',
3 => 'three',
'row' => 'four',
'newRow' => 'five',
);
我需要重新索引数字键-1,2,3
预期产出:
我试过使用数组\u值
,但是字符串键也会被索引
最好的方法是什么
谢谢。使用
array\u merge
重新索引数组
$array = array(
1 => 'one',
2 => 'two',
3 => 'three',
'row' => 'four',
'newRow' => 'five',
);
$newArray = [];
foreach ($array as $key => $value) {
if (!is_numeric($key)) {
$newArray[$key] = $value;
} else {
$newArray[] = $value;
}
}
var_dump($newArray);
die();
代码:
<?php
$array = array(
1 => 'one',
2 => 'two',
3 => 'three',
'row' => 'four',
'newRow' => 'five',
);
$reindexed_array = array_merge($array);
var_dump($reindexed_array);
array(5) {
[0]=> string(3) "one"
[1]=> string(3) "two"
[2]=> string(5) "three"
["row"]=> string(4) "four"
["newRow"]=> string(4) "five"
}
您可以在此处找到一个工作示例:。有关
array\u merge
的更多信息:为什么不简单地使用一个循环并检查键是否为整数,如果是,则使用计数变量来设置新键?这里的最终目标不完全确定-一个新的1,2,3
数组(键控0,1,2
)?在阅读您的答案之前,您希望新数组看起来像什么?无法100%确定这是否是您想要的?我以为您只想重新索引数组的数字键。谢谢您的输入。我将为预期结果编辑问题。@h2ooooooo是的,我可以这样做,我认为我可以在这里得到更好的答案,这可以减少一行代码:)谢谢,这很有效,但我需要一个小的n甜美的答案;)
array(5) {
[0]=> string(3) "one"
[1]=> string(3) "two"
[2]=> string(5) "three"
["row"]=> string(4) "four"
["newRow"]=> string(4) "five"
}