- var_dump: documentation ( source)
<?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);