3v4l.org

run code in 300+ PHP versions simultaneously
<?php $arr = [ [ 'cards1' => [ 'A', 'b', 'c' ], 'cards2' => [ 'A', 'e', 'd' ], 'cards3' => [ 'A', 'o', 'l' ] ], [ 'cards1' => [ 'A', 'b', 'c' ], 'cards2' => [ 'A', 'r', 'c' ], 'cards3' => [ 'A', 'bbb', 'yyy' ] ], [ 'cards1' => [ 'A', 'bbb', 'ggg' ], 'cards2' => [ 'A', ], 'cards3' => [ 'A', ] ] ]; $set = []; foreach($arr as &$data){ foreach($data as &$cards){ foreach($cards as $index => $value){ if(isset($set[$value])) unset($cards[$index]); else $set[$value] = true; } } } print_r($arr);

preferences:
27.34 ms | 404 KiB | 5 Q