PHP从数组中删除元素的几种方法

180it 2021-05-18 PM 1167℃ 0条

今天介绍几个 php 从数组中删除元素的几个方法的实例,要用到 unset()、array_splice()、array_diff()以及array_diff_key() 等函数。下面就来详细的说一说它们的使用方法。

php nuset() 函数删除数组元素
unset() 函数可以销毁数组中指定的元素,并且不会改变数组的索引顺序。

php代码:

<?php
$arr = array('a','b','c','d');
unset($arr[2]);
print_r($arr);
?>
复制
打印结果:

Array
(

[0] => a
[1] => b
[3] => d

)
复制
注意:

使用 unset() 函数,删除数组的某个元素后,数组的索引并不会改变,如果数组的索引重新排序(从0开始重新排序),则使用 array_values() 函数即可。可参考下面的代码:

php代码:

<?php
$arr = array('a','b','c','d');
unset($arr[2]);
print_r($arr);
// array_values() 重新排序,生成新的数组
$array = array_values($arr);
print_r($array);
?>
复制
打印结果:

Array
(

[0] => a
[1] => b
[2] => d

)
复制
php使用 array_splice() 函数删除数组的元素
array_splice():函数从数组中移除选定的元素,并用新元素取代它。函数也将返回被移除元素的数组。

php代码:

<?php
$arr = array('a','b','c','d');
array_splice($arr, 1, 1);//从第二个元素开始,删除一个元素
print_r($arr);
?>
复制
打印结果:

Array
(

[0] => a
[1] => c
[2] => d

)
复制
注:关于 array_splice() 函数的详细说明,可查看本站的相关文章

php使用 array_diff() 函数删除数组元素
array_diff():函数用于比较两个或多个数组的值,并返回差集,当然也可以用来删除指定的数组

php代码:

<?php
$arr = array('a','b','c','d');
$array = array_diff($arr, ['a','c']);//删除指定值的元素(其它是比较返回差值)
print_r($array);
?>
复制
打印结果:

Array
(

[1] => b
[3] => d

)
复制
php array_diff_key 函数删除数组元素
array_diff_key():函数用于比较两个或多个数组的键名 ,并返回差集,这里我们可以用他来删除指定键的数组元素

示例1:

<?php
//这里没有定义键名,默认从0开始,依次递增
$arr = array('a','b','c','d');
$array = array_diff_key($arr, [0=>'a',1=>'c']);//删除指定键的元素(其它是比较返回差值)
print_r($array);
?>
复制
打印结果:

Array
(

[2] => c
[3] => d

)
复制
示例2:

<?php
//指定键名的数组
$arr = array('a'=>'a','b'=>'b','c'=>'c','d'=>'d');
$array = array_diff_key($arr, ['b'=>'a','d'=>'c']);//删除指定键的元素,元素的值任意(其它是比较返回差值)
print_r($array);
?>
复制
打印结果:

Array
(

[a] => a
[c] => c

)
复制

支付宝打赏支付宝打赏 微信打赏微信打赏

如果文章或资源对您有帮助,欢迎打赏作者。一路走来,感谢有您!

标签: none

PHP从数组中删除元素的几种方法