- var_dump: documentation ( source)
- array_merge: documentation ( source)
<?php
function coolPluck($array, $lookup) {
$output = array();
foreach($array as $k => $v) {
if($k === $lookup) {
$output[$k] = $v;
}
if(is_array($v)) {
$results = coolPluck($v, $lookup);
if(isset($results[$lookup]) && isset($output[$lookup])) {
$output = array_merge((array) $output[$lookup], (array) $results[$lookup]);
}
else {
//$output = array_merge($output, $results);
}
}
}
return $output;
}
$testArray = array('test' => array('percy' => array('percy' => 'hatcherson'), 'percy' => array('mitchell', 'anderson')));
var_dump(coolPluck($testArray, 'percy'));