在php中按对象值从数组中删除对象
那么,假设我有这个数组,用它的id删除对象的最好方法是什么 这就是我想到的在php中按对象值从数组中删除对象,php,laravel,Php,Laravel,那么,假设我有这个数组,用它的id删除对象的最好方法是什么 这就是我想到的 $followers = [['id'=>0], ['id'=>1]]; 有没有更好更有效的方法 它是一个数组而不是一个对象,那么为什么要作为对象进行访问呢 试试这个 foreach($followers as $key=>$follower){ if($follower->id == 0){unset $followers[$key]} } 您正在像对象一样访问数组的值 您未正确使用
$followers = [['id'=>0], ['id'=>1]];
有没有更好更有效的方法 它是一个数组而不是一个对象,那么为什么要作为对象进行访问呢 试试这个
foreach($followers as $key=>$follower){
if($follower->id == 0){unset $followers[$key]}
}
unset
代码>在取消设置部分的末尾
我真正需要的是从缓存中的数组中删除一个项我尝试了以下方法:
foreach ($followers as $key => $follower) {
if($followers[$key] == 0) {
unset($followers[$key]);
}
}
很遗憾我失败了,所以我现在正在使用Cache::forget。这不是我真正需要的,我误导了你,谢谢你!
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;
}
}
}