php删除数组中指定元素,自定义函数
2017-04-11 23:41
459 查看
php的数组比较好,既有C的风格(可以[]索引),又有java的追加新元素。
索引起来也兼具了链表和字典的特点,用起来很方便。
通常用unset()方法删除数组元素,但是这种方式很郁闷的是,删除完了,数组的索引不会变(简单的说就是后边的不会递补上来)
又查了查,发现系统居然没有提供能删除数组中指定元素,索引还能自动排序的函数,
好吧,没有就自己写一个
(PS:这里主要是借助了array_splice()这个系统函数来实现的
* array_splice()
* p1:要删除的数组
* p2:删除value的key
* p3:(非必须)从这个key这个元素的位置开始,往后连续删除几个元素
* p4:(非必须)是一个素组,把这个数组的值补到删除的空位上去
/*
$arr:要操作的数组
$value:要删除的元素
return:删除成功返回true,失败返回false
*/
function remove_value_from_array(&$arr , $value){
$index = array_search($value,$arr);
if($index === false){
return false;
}
if(!empty(array_splice($arr,$index,1))){
return true;
}else{
return false;
}
}
意外发现,原来array是值传递啊,一直以为是引用传递,哈哈。。。
索引起来也兼具了链表和字典的特点,用起来很方便。
通常用unset()方法删除数组元素,但是这种方式很郁闷的是,删除完了,数组的索引不会变(简单的说就是后边的不会递补上来)
又查了查,发现系统居然没有提供能删除数组中指定元素,索引还能自动排序的函数,
好吧,没有就自己写一个
(PS:这里主要是借助了array_splice()这个系统函数来实现的
* array_splice()
* p1:要删除的数组
* p2:删除value的key
* p3:(非必须)从这个key这个元素的位置开始,往后连续删除几个元素
* p4:(非必须)是一个素组,把这个数组的值补到删除的空位上去
/*
$arr:要操作的数组
$value:要删除的元素
return:删除成功返回true,失败返回false
*/
function remove_value_from_array(&$arr , $value){
$index = array_search($value,$arr);
if($index === false){
return false;
}
if(!empty(array_splice($arr,$index,1))){
return true;
}else{
return false;
}
}
意外发现,原来array是值传递啊,一直以为是引用传递,哈哈。。。
相关文章推荐
- php删除数组中指定值的元素的几种方法
- php删除数组指定元素实现代码
- PHP删除数组中指定值的元素常用方法实例分析【4种方法】
- php删除数组中指定值的元素
- PHP 从数组中删除指定元素
- PHP删除数组指定元素
- php 删除数组中指定元素,重建索引
- php 数组取数据(主要是删除指定的元素)
- php 删除数组指定元素,下标还不乱
- PHP删除数组中指定下标的元素方法
- PHP删除数组中指定下标的元素
- php删除数组中指定值的元素的几种方法
- php删除数组指定元素
- PHP删除数组中指定的元素
- php删除指定位置数组元素
- php删除数组指定元素
- JavaScript删除数组中指定元素
- PHP从数组中删除元素的四种方法实例
- PHP删除数组中特定元素
- PHP删除数组中特定元素的两种方法