php删除数组某个元素的方法:1、利用foreach和unset函数删除数组中的特定元素;2、利用array_flip函数和unset函数删除数组中的特定值;3、利用array_search和unset函数删除数组中的特定值。
推荐:《PHP教程》
php删除数组中指定值的元素的方法
在一些特殊情况下,你需要删除数组中的特定值,而且要全部删除,其实方法有很多种,我们通过本文来进行讨论。
一、利用foreach和unset)函数删除数组中的特定元素
foreach$array as $k=>$v){ if$v == 'day'){ unset$array[$k]): } }
unset)函数即删除指定的数组值。
二、利用array_flip)函数和unset)函数删除数组中的特定值
$arr = array_flip$arr); unset$arr['world']); $arr = array_flip$arr); print_r$arr);
array_flip)是一个反转函数,将数组原来的键名变为键值,把键值变为键名,这样上面的操作就很容易理解了。
三、利用array_search)和unset)函数删除数组中的特定值
if$key = array_search'day',$arr))){ unset$arr[$key]); }
array_search) 函数与 in_array) 一样,在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。
四、array_splice)函数可以与unset)函数起到相同作用
if$key = array_search'day',$arr))){ array_splice$arr, $key,1); }
array_splice)有四个参数。
五、array_unique)让这个特定值在数组中一个不留
注意:上面的所有操作只是删除了数组中第一个和你给定的值相同的元素,之后的元素即使和你给定的值相等,却没有被删除!
在进行上面所有的代码操作之前,先进行array_unique$array)的操作,将数组中的重复值进行合并删除,再进行上面的删除,让数组中的重复值一个不留。
六、只删除特定值对应的键值,不动其他值
五中导致删除特定值的同时,也将其他无关的值合并了,那么不要动其他值怎么办?重复执行上面一~四的操作即可,获取数组长度,用一个for循环即可,当然这是最笨的办法~~
获取数组长度的函数是count$arr)
forcount$arr))if$key = array_search'day',$arr))array_splice$arr,$key,1);