说我有一个数组
[0]=>test
[2]=>example.
我希望o / p为
[0]=>test
[1]=>example
在我的第一个数组中
[1]=>NULL
我尝试删除此内容并重新排序,因此我使用array_filter()
删除null
值。
现在,我该如何重新排序数组?
答案 0 :(得分:3)
如果我理解你需要什么,我认为array_values应该有帮助(它只返回数组中的值,从0重新索引):
print_r( array_values($arr) );
以下是此示例:http://codepad.org/q7dVqyVY
答案 1 :(得分:0)
您可能想要使用merge:
$newArray = array_merge(array(),$oldArray);
答案 2 :(得分:0)
$Array = array('0'=>'test,', '2'=>'example');
ksort($Array);
$ArrayTMP = array_values($Array);
或
$Array = array('0'=>'test,', '2'=>'example');
ksort($Array);
$ArrayTMP = array_merge ($Array,array());
信用证转到:http://www.codingforums.com/archive/index.php/t-17794.html。
答案 3 :(得分:0)
<?php
$a = array(0 => 1, 1 => null, 2 => 3, 3 => 0);
$r = array_values(
array_filter($a, function ($elem)
{
if ( ! is_null($elem))
return true;
})
);
// output:
array (
0 => 1,
1 => 3,
2 => 0,
)
?>
注意:我正在使用array_filter的匿名回调函数。匿名回调仅适用于php 5.3+,在这种情况下是适当的(恕我直言)。对于以前版本的php,只需将其定义为正常。