3v4l.org

run code in 300+ PHP versions simultaneously
<?php function hasColor(Array $a,$color){ foreach($a as $k=>$v){ if($v['color']===$color){ return true; } } return false; } function checkColors(Array &$a){ foreach($a as $k=>&$v){ switch($v['color']){ case 'blue': $appendColor = 'pink'; break; case 'green': $appendColor = 'blue'; break; case 'pink': $appendColor = 'green'; break; } if(hasColor($a,$appendColor)){ continue; } $a[] = ['color'=>$appendColor]; return checkColors($a); } } $colors = [ [ 'color'=>'blue' ] ]; checkColors($colors); var_dump($colors);

preferences:
63.15 ms | 402 KiB | 5 Q