![PHP入门很轻松(微课超值版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/100/44510100/b_44510100.jpg)
4.5.2 删除数组中的元素操作
在PHP中,删除数组中的元素有4种方法:unset()函数、array_splice()函数、array_diff()函数和array_diff_key()函数。下面分别进行介绍。
1.unset()函数
unset()函数不会改变其他的键名(key),如果想对其他的键名(key)重新整理排序,可以使用array_values()。
【例4-17】使用unset()函数删除数组中的元素(实例文件:源文件\ch04\4.17.php)。
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-P69_36918.jpg?sign=1738871949-TCreNV3TYGYD5KdgH6UVUFo8dJJbBtBy-0-e7f00ce500596b0bb6892215af1bdd71)
运行结果如图4-18所示。
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-P69_6948.jpg?sign=1738871949-3Ii0dr9REJUoKeI6LS9lrNC1eahbZeuP-0-79ba991ee8ec8fb8709457516eb5508a)
图4-18 使用unset()函数删除数组中的元素
2.array_splice()函数
array_splice()函数从数组中移除选定的元素,并用新元素取代它,函数也将返回被移除元素的数组。
array_splice()函数的语法格式如下:
array_splice(array,start,length,array)
array_splice()函数的参数说明如表4-7所示。
表4-7 array_splice()函数的参数
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-T70_36919.jpg?sign=1738871949-lkRmFKZkEFZI2nCCNcAlAlnNsBozxP2q-0-a57944b1333d485310a7304fb213159f)
【例4-18】使用array_splice()函数删除数组中的元素(实例文件:源文件\ch04\4.18.php)。
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-P70_36920.jpg?sign=1738871949-kOJnTxtlHI023nu4cCIp6KLrQ8aDHTQ7-0-6a8a2c4c128d20b4127f84f9229c8362)
运行结果如图4-19所示。
3.array_diff()函数
当知道数组的元素值时,可以使用array_diff()函数来完成删除。array_diff()函数语法格式如下:
array_diff(array1,array2,array3…);
其中array1是要删除元素的数组,array1之后的元素是要删除元素的值所组成的数组,例如其中的array2和array3。
【例4-19】使用array_diff()函数删除数组中的元素(实例文件:源文件\ch04\4.19.php)。
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-P70_36923.jpg?sign=1738871949-fIizJcNffVVFOWksDnaWO1bEYC1C7Mkg-0-0238db141c0c7fa49a07d9ef741e9c66)
运行结果如图4-20所示。
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-P70_7080.jpg?sign=1738871949-LHMWKVXDqkqkpxsoceJpNLfh4HgLU2vf-0-7923ca110162ba2577658d8896d19b51)
图4-19 使用array_splice()函数删除数组中的元素
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-P70_7083.jpg?sign=1738871949-wSisoc1NhRwlzhpD62aKmCqPoX1M11Fm-0-3ac105b979816f5a042848cc4ad85d17)
图4-20 使用array_diff()函数删除数组中的元素
4.array_diff_key()函数
如果知道数组元素的键名(key),可以使用array_diff_key()函数来删除该元素,array_diff_key()函数的语法格式与array_diff()函数基本一致,如下所示:
array_diff_key(array1,array2,array3…);
其中array1是要删除元素的数组,array1之后的元素是要删除元素的键名所组成的数组,例如其中的array2和array3,所对应的元素值不需要,可以随意为空,也可以随意输入。
【例4-20】使用array_diff_key()函数删除数组中的元素(实例文件:源文件\ch04\4.20.php)。
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-P71_36926.jpg?sign=1738871949-iHwr8wQIMmTnkynDbQwyolC5VjOP0ZTW-0-3a860b557f773cac8494ece07c518822)
运行结果如图4-21所示。
![](https://epubservercos.yuewen.com/C06CD9/23721570201955106/epubprivate/OEBPS/Images/Figure-P71_7126.jpg?sign=1738871949-BcqyK2gwAOBWu12MLGeXXRfD4KOiK4sq-0-9e3b690b1f943b0de65a5c0429e6d6a3)
图4-21 使用array_diff_key()函数删除数组中的元素