Мне нужно получить все ключи из этого массива. Я попытался с рекурсивным вызовом, но только получить ключи первого элемента. Я хочу, чтобы все ключи массива сохранялись в массив с уровнем. означает keys[0] = array(540,198)
. ниже массив, который я хочу пройти и получить все ключи. Я работал более 1 дня, но ничего не получил, пожалуйста, помогите исправить это.
(
[ch] => Array
(
[540] => Array
(
[194] => Array
(
[16] => Array
(
[144] => Array
(
)
[145] => Array
(
)
[146] => Array
(
)
[147] => Array
(
)
[148] => Array
(
)
[195] => Array
(
)
[199] => Array
(
)
[149] => Array
(
)
[200] => Array
(
)
[150] => Array
(
)
[444] => Array
(
)
[151] => Array
(
)
[445] => Array
(
)
[446] => Array
(
)
[152] => Array
(
)
)
)
)
[198] => Array
(
[194] => Array
(
[16] => Array
(
[144] => Array
(
)
[145] => Array
(
)
[146] => Array
(
)
[147] => Array
(
)
[148] => Array
(
)
[195] => Array
(
)
[199] => Array
(
)
[149] => Array
(
)
[200] => Array
(
)
[150] => Array
(
)
[444] => Array
(
)
[151] => Array
(
)
[445] => Array
(
)
[446] => Array
(
)
[152] => Array
(
)
)
)
)
)
)
$this->checkProductConfiguraions($configuraion,$count,$levelKeys);
function checkProductConfiguraions($configuraion,$count,$levelKeys) {
foreach ($configuraions as $configuraion) {
if (is_array($configuraion)) {
$parentKeys = array_keys($configuraion);
if(isset($levelKeys[$count])){
$levelKeys[$count] = array_unique(array_merge($levelKeys[$count],$parentKeys));
} else {
$levelKeys[$count] = $parentKeys;
}
$count++;
$levelKeys[$count] = array();
for($i=0;$i<count($parentKeys);$i++){
$levelKeys[$count] = array_unique(array_merge($levelKeys[$count],array_keys($configuraion[$parentKeys[$i]])));
if(is_array($configuraion)){
$levelKeys = $this->checkProductConfiguraions($configuraion,$count,$levelKeys);
}
}
}
}
}