「$needle」で指定されたすべてのセットの結果セットを返す再帰的な配列反復子関数を作成しようとしています。$needle = キー
これが私の機能です:
function recursive($needle, $array, $holder = array()) {
foreach ($array as $key => $value) {
if (gettype($value) == 'array') {
if ($key != $needle) {
recursive($needle, $value);
} elseif ($key == $needle) {
if (!empty($value)) {
array_push($holder, $value);
}
}
}
}
return $holder;
}
!empty($value)
しかし、入力配列には空のセットがありませんが、を指定しないと、すべての結果が返されるわけではなく、代わりにいくつかの空の結果が返されます。私は何を間違っていますか?