- 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;
var_dump($output[$k]);
}
if(is_array($v)) {
$results = coolPluck($v, $lookup);
if(isset($results[$lookup]) && isset($output[$lookup])) {
$output = array_merge((array) $results[$lookup], (array) $output[$lookup]);
}
else {
$output = array_merge($results, $output);
}
}
}
return $output;
}
$testArray = array('test' => array('percy' => array('percy' => 'hatcherson'), 'percy' => array('mitchell', 'anderson')));
var_dump(coolPluck($testArray, 'test'));