我有一个2D关联数组,它是这样的:
[0] => Array
(
[foo]=>bar
[foo]=>bar
[foo]=>bar
)
[1] => Array
(
[foo]=>bar
[foo]=>bar
[foo]=>bar
)
[2] => Array
(
[foo]=>bar
[foo]=>bar
[foo]=>bar
)
我希望能够删除一个元素,例如[0]然后“刷新”剩余的元素ID,所以[1]及其内容将成为新的[0],[2]将变为[1]等。
答案 0 :(得分:1)
假设您在$ data中有这些数组值。 然后你删除了元素
ex:unset($data[0]);
现在$ data将有
[1] => Array
(
[foo]=>bar
[foo]=>bar
[foo]=>bar
)
[2] => Array
(
[foo]=>bar
[foo]=>bar
[foo]=>bar
)
现在使用函数array_values()
$data = array_values($data);
现在关联数组被重新排序为
[0] => Array
(
[foo]=>bar
[foo]=>bar
[foo]=>bar
)
[1] => Array
(
[foo]=>bar
[foo]=>bar
[foo]=>bar
)
答案 1 :(得分:0)
假设
$arr = array(0=>array('a','b','c'),1=>array('a','b','c'),2=>array('a','b','c'));
然后,为了满足您的要求,步骤是:
unset($arr[0]);
$arr = array_values($arr);
答案 2 :(得分:0)
您可以使用 array_values() :
$x = [
['foo1'=>'bar', 'foo2'=>'bar', 'foo3'=>'bar'],
['foo1'=>'bar', 'foo3'=>'bar', 'foo5'=>'bar'],
['foo1'=>'bar', 'foo3'=>'bar', 'foo5'=>'bar']];
unset($x[0]);
$x = array_values($x);
print_r($x);
输出:
Array
(
[0] => Array
(
[foo1] => bar
[foo3] => bar
[foo5] => bar
)
[1] => Array
(
[foo1] => bar
[foo3] => bar
[foo5] => bar
)
)