Php 插入和删除阵列中的项目(&A);重置键值

Php 插入和删除阵列中的项目(&A);重置键值,php,arrays,Php,Arrays,这是我的阵列: $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 => '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',
);
$array = array(
   0 => 'a',
   1 => 'b',
   2 => 'c',
   3 => 'g',
   4 => 'd',
   5 => 'e',
   6 => 'f'
);
$array = array_values($array);
类似于在
3
-
$array[3]=“g”
-我希望结果如下所示:

$array = array(
   0 => 'a',
   1 => 'b',
   2 => 'c',
   3 => 'e',
   4 => 'f',
);
$array = array(
   0 => 'a',
   1 => 'b',
   2 => 'c',
   3 => 'g',
   4 => 'd',
   5 => 'e',
   6 => 'f'
);
$array = array_values($array);

如何做到这一点?

只需使用
array\u 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);

如果您这样使用:

$array = array(
   0 => 'a',
   1 => 'b',
   2 => 'c',
   3 => 'e',
   4 => 'f',
);
$array = array(
   0 => 'a',
   1 => 'b',
   2 => 'c',
   3 => 'g',
   4 => 'd',
   5 => 'e',
   6 => 'f'
);
$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>';

我发布了一个答案,但后来我意识到你没有发布你尝试过的东西。看见