这是我的阵列:
$array = array(
0 => 'a',
1 => 'b',
2 => 'c',
3 => 'd',
4 => 'e',
5 => 'f',
);
现在,我想在3
- unset($array[3])
删除项目 - 但结果如下:
$array = array(
0 => 'a',
1 => 'b',
2 => 'c',
4 => 'e',
5 => 'f',
);
但我希望结果如下:
$array = array(
0 => 'a',
1 => 'b',
2 => 'c',
3 => 'e',
4 => 'f',
);
与3
- $array[3] = 'g'
处的插入类似 - 我希望结果如下所示:
$array = array(
0 => 'a',
1 => 'b',
2 => 'c',
3 => 'g',
4 => 'd',
5 => 'e',
6 => 'f'
);
如何做到这一点?
答案 0 :(得分:0)
只需使用array_values()
“重新锁定”您的数组:
$array = array(
0 => 'a',
1 => 'b',
2 => 'c',
3 => 'd',
4 => 'e',
5 => 'f',
);
unset($array[3]);
$array = array_values($array);
对于第二部分,只需将要添加新值的数组拆分到第一部分,然后再将数组合并到一起。
$array = array(
0 => 'a',
1 => 'b',
2 => 'c',
3 => 'd',
4 => 'e',
5 => 'f',
);
$key = 3;
$first_part = array_slice($array, 0, $key);
$second_part = array_slice($array, $key);
$first_part[] = 'g';
$array = array_merge($first_part, $second_part);
答案 1 :(得分:0)
因此,如果您使用array_values
,请执行以下操作:
$array = array_values($array);
这里是代码:
$array = array(
0 => 'a',
1 => 'b',
2 => 'c',
3 => 'd',
4 => 'e',
5 => 'f',
);
unset($array[3]);
$array = array_values($array);
echo '<pre>';
print_r($array);
echo '</pre>';
输出结果为:
Array
(
[0] => a
[1] => b
[2] => c
[3] => e
[4] => f
)