PHP从数组中删除元素的几种要领

本日先容几个 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 )

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/8877.html