<?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($results[$keyToFind])) {
if (!isset($output[$keyToFind])) {
$output[$keyToFind] = $results[$keyToFind];
}
else {
$output[$keyToFind] = array_merge(array($output[$keyToFind]), (array)$results[$keyToFind]);
}
}
}
}
}
return $output;
}
$testArray = array(
'test' => array(
'percy' => array(
'philip' => array('percy' => array(
'mitch' => array('percy' => 'cool', 'mitch' => 'anderson')
)
)
)
'mitch' => array(
'mitchell',
'anderson'
)
)
);
var_dump(coolPluck($testArray, array('percy', 'mitch')));
- Output for 5.4.0 - 5.4.20
- Parse error: syntax error, unexpected ''mitch'' (T_CONSTANT_ENCAPSED_STRING), expecting ')' in /in/qOo21 on line 41
Process exited with code 255. - Output for 5.3.0 - 5.3.27
- Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ')' in /in/qOo21 on line 41
Process exited with code 255.
preferences:
208.78 ms | 1395 KiB | 56 Q