删除数组中的元素,第一想法是使用unset函数,它确实可以删除,但是可能会在后面操作该数组的时候出现问题。通过下面的例子来说明: $arr = array(0, 1, 2, 3, 4);$index = 2;unset($arr[$index]);echo count($arr);if (empty($arr[$index])) { echo "arr[$i
删除数组中的元素,第一想法是使用unset函数,它确实可以删除,但是可能会在后面操作该数组的时候出现问题。通过下面的例子来说明:
$arr = array(0, 1, 2, 3, 4);
$index = 2;
unset($arr[$index]);
echo count($arr);
if (empty($arr[$index])) {
echo "arr[$index] is empty";
}
print_r($arr);
输出为:
4
arr[2] is empty
Array([0] => 0 [1] => 1 [3] => 3 [4] => 4)从上面的输出结果可以看到数组的长度是正常的,但是下标还是保持原来的,所以按照下标去获取元素就会出问题。另外此方法对key-value形式的数组是安全的。
如何安全的删除元素呢?可以使用array_splice函数。array_splice()的用途是删除原始数组中指定的一系列元素,并用其他值代替(如果指定),返回值是被删除的元素。更多信息可以参考官方文档:http://php.net/manual/zh/function.array-splice.php。例如:
PhpLeft多元化管理系统v1.2企业专业版,含企业所需的栏目数据,删减其他不需要的模块。PhpLeft Diversification Management System(中文名为:PHPLEFT多元化管理系统),荣获2个第一,是全球第一家多元化网站管理系统,是全球第一家采用中文编程的php系统,根据模型创建栏目,栏目自由扩展字段,操作简便,简单易懂的标签系统,让建站更简单,适合建各类型站点。
0
$arr = array(0, 1, 2, 3, 4); $rtn = array_splice($arr, 2, 1); echo count($arr); print_r($arr); print_r($rtn); 输出为: 4 Array ([0] => 0 [1] => 1 [2] => 3 [3] => 4) Array([0] => 2)
如果想获取删除首位元素后的数组,则可以有两种方法:
1、 $arr = array(0, 1, 2, 3, 4); array_splice($arr, 0, 1); 2、 $arr = array(0, 1, 2, 3, 4); $arr = array_splice($arr, 1);
原文地址:php 删除数组中的元素, 感谢原作者分享。
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号