在php中按对象值从数组中删除Object

时间:2015-10-31 23:49:51

标签: php laravel

foreach($followers as $key=>$follower){
    if($follower->id == 0){unset $followers[$key]}
}

所以,假设我有这个数组,那么通过它的id删除对象的最佳方法是什么?

这就是我想出来的

{{1}}

有更好的更有效的方法吗?

2 个答案:

答案 0 :(得分:3)

这是一个数组而不是一个对象,为什么你作为一个对象访问?

试试这个,

foreach ($followers as $key => $follower) {
    if($followers[$key] == 0) {
        unset($followers[$key]);
    }
}
  1. 您正在访问数组的值,如对象。

  2. 您错误地使用了unset

  3. 您错过;部分末尾的unset

答案 1 :(得分:0)

我真正需要的是从我的缓存中的数组数组中删除一个项目我试过这个:

if(Cache::has('user_follower'.$user_id)){
        $user_follower = Cache::get('user_follower'.$user_id);

        foreach($user_follower as $key=>$follower){
            if($follower->user_id == Auth::id()){
                unset($user_follower[$key]);
                Cache::put('user_follower'.$user_id, $user_follower, 30);
                return;
            }
        }

}

我伤心难过,所以我现在正在使用Cache :: forget。