<?php
function coolPluck($array, $allowed) {
$output = array();
foreach($allowed as $keyToFind) {
foreach($array as $k => $v) {
if($k === $keyToFind) {
$output[$keyToFind] = $v;
}
if(is_array($v)) {
$results = coolPluck($v, $allowed);
if (isset($output[$keyToFind] && isset($results[$keyToFind]))) {
$output[$keyToFind] = array_merge((array)$output[$keyToFind], (array)$results[$keyToFind]);
}
}
}
}
return $output;
}
$testArray = array('test' => array('percy' => array('percy' => 'hatcherson'), 'percy' => array('mitchell', 'anderson')));
var_dump(coolPluck($testArray, array('percy')));
- Output for 5.4.0 - 5.4.20
- Parse error: syntax error, unexpected '&&' (T_BOOLEAN_AND), expecting ',' or ')' in /in/QWk7i on line 16
Process exited with code 255. - Output for 5.3.0 - 5.3.27
- Parse error: syntax error, unexpected T_BOOLEAN_AND, expecting ',' or ')' in /in/QWk7i on line 16
Process exited with code 255.
preferences:
180.39 ms | 1386 KiB | 56 Q