如何在PHP中正确删除数组元素?unset与重新索引的问题
大家好!我是PHP新手,在删除数组元素时遇到了问题。我正在编写一个简单的任务管理脚本。我有一个任务数组,想根据索引删除一个任务。
这是我的代码:
```php
$tasks = ['买牛奶', '做作业', '给朋友打电话', '刷牙'];
// 想删除索引为1的任务('做作业')
unset($tasks[1]);
print_r($tasks);
```
执行unset后,我得到这样的输出:
```
Array
(
[0] => 买牛奶
[2] => 给朋友打电话
[3] => 刷牙
)
```
索引1消失了,但其他索引没有重新排列!现在数组中出现了空洞。当我尝试通过索引1访问元素时,会得到错误。如果我希望数组是连续的(0, 1, 2),该怎么做?
我尝试过使用`array_splice`,但它按值删除元素,而不是按键。还是我理解错了?
请告诉我如何正确删除数组元素:
1.