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);
Output for 7.1.25 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
Array ( [0] => Array ( [cards1] => Array ( [0] => A [1] => b [2] => c ) [cards2] => Array ( [1] => e [2] => d ) [cards3] => Array ( [1] => o [2] => l ) ) [1] => Array ( [cards1] => Array ( ) [cards2] => Array ( [1] => r ) [cards3] => Array ( [1] => bbb [2] => yyy ) ) [2] => Array ( [cards1] => Array ( [2] => ggg ) [cards2] => Array ( ) [cards3] => Array ( ) ) )

preferences:
156.76 ms | 411 KiB | 5 Q