1
多次元配列の要素を取得する必要がありますが、私はこの解決策を持っていますが、私は失礼な解決策だと思います... この問題の改善策はありますか?配列への最良の再帰的なPHP
function extractElement($array, $element) {
$match = [];
foreach ($array as $key => $value) {
if (is_array($value)) {
if ($innerMatch = extractElement($value, $element)) {
foreach ($innerMatch as $innerKey => $innerValue) {
array_push($match, $innerValue);
}
}
} else {
if ($value === $element) {
array_push($match, $value);
}
}
}
return $match;
}
$array = [1, 4, [4], [1, 2, 3, 4, [1, 2, 4, 4]]];
extractElement($array, 4);
出力:
Array
(
[0] => 4
[1] => 4
[2] => 4
[3] => 4
[4] => 4
)