您的位置:首页 > 编程语言 > PHP开发

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是值传递啊,一直以为是引用传递,哈哈。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: