PHP删除数组中元素具体方法

在PHP中没有一种专门删除一个特定数组元素的方法,但是可以借助其他的函数进行实现,下面为大家详细讲解一下PHP 删除数组中元素具体方法。

10年积累的做网站、网站建设经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站策划后付款的网站建设流程,更有牡丹免费网站建设让你可以放心的选择与我们合作。

删除数据中的一个元素

如果你想删除数组中的一个元素,你可以使用 unset() 或 array_splice() 方法。

如果你知道数组元素的值(value),但不知道键(key),你可以使用 array_search() 来获取键(key)。

unset() 方法

注意如果你使用 unset() 方法,它是不会改变其他的键(key),如果你想对其他的键(key)重新整理排序,可以使用 array_values()。


  $array = array(0 => "a", 1 => "b", 2 => "c");
unset($array[1]);
          //↑ 你要删除的数组元素值的键
print_r($array);
?>

输出结果:

Array (
   [0] => a
   [2] => c
)

array_splice() 方法

如果你使用 array_splice() 方法,数组的键会自动重新建立索引, 但对关联性的数组不起作用,需要使用 array_values() 将键转换为数字键。


  $array = array(0 => "a", 1 => "b", 2 => "c");
array_splice($array, 1, 1);
                  //↑ Offset which you want to delete
print_r($array);
?>

输出结果:

Array
(
   [0] => a
   [1] => c
)

array_splice() 在释放数组指定元素上与 unset() 函数取到相同作用。

删除数组中的多个元素

如果你想删除数组中的多个元素就不能使用吗 unset() 或 array_splice() 函数了,你需要使用 array_diff() 或 array_diff_key() 方法,使用该方法需要知道要删除的键(key)或值(value)。

array_diff() 方法

如果你知道要删除的数组元素, 你可以使用 array_diff()。


  $array = array(0 => "a", 1 => "b", 2 => "c");
$array = array_diff($array, ["a", "c"]);
                         //└────────┘→你要删除的元素
print_r($array );
?>

输出结果为:

Array
(
   [1] => b
)

array_diff_key() 方法

如果你知道要删除的数组元素的键(key), 你可以使用 array_diff_key()。你需要在函数的第二个参数的键值位置输入要删除的键,值不需要,可随意。


  $array = array(0 => "a", 1 => "b", 2 => "c");
$array = array_diff_key($array, [0 => "xy", "2" => "xy"]);
                              //↑           ↑ 你要删除的数组键
print_r($array);
?>

输出结果为:

Array (
   [1] => b
)

文章名称:PHP删除数组中元素具体方法
浏览地址:http://www.mswzjz.com/qtweb/news34/162434.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联