我有一个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] 等。
假设您在$data中有这些数组值。然后您删除了该元素
例如: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
)
假设
$arr = array(0=>array('a','b','c'),1=>array('a','b','c'),2=>array('a','b','c'));
然后,要获得您的要求,步骤如下:
unset($arr[0]);
$arr = array_values($arr);
您可以使用
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
)
)