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' => [ 'B', 'bbb', 'B' ], 'cards2' => [ 'B', ], 'cards3' => [ 'B', ] ] ]; $set = []; $except = []; foreach($arr as $data){ foreach($data as $key => $cards){ if($key === 'cards1'){ $except[$data[$key][0]] = true; break; } } } foreach($arr as &$data){ foreach($data as $key => &$cards){ foreach($cards as $index => $value){ if(isset($set[$value]) && !isset($except[$value])) unset($cards[$index]); else $set[$value] = true; } } } print_r($arr);
Output for git.master, git.master_jit, rfc.property-hooks
Array ( [0] => Array ( [cards1] => Array ( [0] => A [1] => b [2] => c ) [cards2] => Array ( [0] => A [1] => e [2] => d ) [cards3] => Array ( [0] => A [1] => o [2] => l ) ) [1] => Array ( [cards1] => Array ( [0] => A ) [cards2] => Array ( [0] => A [1] => r ) [cards3] => Array ( [0] => A [1] => bbb [2] => yyy ) ) [2] => Array ( [cards1] => Array ( [0] => B [2] => B ) [cards2] => Array ( [0] => B ) [cards3] => Array ( [0] => B ) ) )

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
28.74 ms | 409 KiB | 5 Q