わからないこと
PHP で連想配列の中で、特定の値がない、かつ、同じIDが重複していたらそのIDの配列は削除したいのですが、どのようにすれば良いのかわからない。
やりたいこと
現状このような配列がある // この場合は、id=3のユーザーの hoge_id=null の方の配列を1つ削除したい array = [ 0 => ['id' => 1, 'name' => '太郎', 'hoge_id' => 1], 1 => ['id' => 2, 'name' => '二郎', 'hoge_id' => 2], 2 => ['id' => 3, 'name' => '一郎', 'hoge_id' => 3], 3 => ['id' => 3, 'name' => '一郎', 'hoge_id' => null], ]
id = 3のユーザーの配列が2つある
hoge_id が null の方を配列から削除したい
だが、 hoge_id があった場合は削除したくない
現状このような配列がある // この場合は、そのまま何もせずに配列を残しておく array = [ 0 => ['id' => 1, 'name' => '太郎', 'hoge_id' => 1], 1 => ['id' => 2, 'name' => '二郎', 'hoge_id' => 2], 2 => ['id' => 3, 'name' => '一郎', 'hoge_id' => 3], 3 => ['id' => 3, 'name' => '一郎', 'hoge_id' => 4], ]
とこのようにしたいのですがどうすれば良いでしょうか?
試したこと
array_count_values などの関数を用いて出来なかと思いましたが、やり方がわからず、、
ご教示お願い致します。