内置PHP函数重置数组的索引?
例如:内置PHP函数重置数组的索引?,php,arrays,Php,Arrays,例如: $arr = array(1 => 'Foo', 5 => 'Bar', 6 => 'Foobar'); /*... do some function so $arr now equals: array(0 => 'Foo', 1 => 'Bar', 2 => 'Foobar'); */ 使用数组\u值($arr)。这将返回所有值的常规数组(以数字索引) 据我所知,您可能已经检查了函数 但我可以想象自己编写一个简单的函数 resetarray
$arr = array(1 => 'Foo', 5 => 'Bar', 6 => 'Foobar');
/*... do some function so $arr now equals:
array(0 => 'Foo', 1 => 'Bar', 2 => 'Foobar');
*/
使用数组\u值($arr)
。这将返回所有值的常规数组(以数字索引)
据我所知,您可能已经检查了函数 但我可以想象自己编写一个简单的函数
resetarray($oldarray)
{
for(int $i=0;$i<$oldarray.count;$i++)
$newarray.push(i,$oldarray[i])
return $newarray;
}
resetarray($oldarray)
{
对于(int$i=0;$i要添加到其他答案中,array_values()
不会保留字符串键。如果您的数组混合了字符串键和数字键(这可能表示设计不好,但也可能发生),则可以使用以下函数:
function reset_numeric_keys($array = array(), $recurse = false) {
$returnArray = array();
foreach($array as $key => $value) {
if($recurse && is_array($value)) {
$value = reset_numeric_keys($value, true);
}
if(gettype($key) == 'integer') {
$returnArray[] = $value;
} else {
$returnArray[$key] = $value;
}
}
return $returnArray;
}
不客气。谢天谢地php和数百万数组函数。布莱恩,诅咒php和数百万数组函数。;)-1:不仅语法错误,逻辑也错误。更不用说正确的答案已经发布了。
function reset_numeric_keys($array = array(), $recurse = false) {
$returnArray = array();
foreach($array as $key => $value) {
if($recurse && is_array($value)) {
$value = reset_numeric_keys($value, true);
}
if(gettype($key) == 'integer') {
$returnArray[] = $value;
} else {
$returnArray[$key] = $value;
}
}
return $returnArray;
}