이것이 명확하지 않은 경우 나에게 곰이 있습니다. 이 문제를 해결하기 위해 머리를 감싸는 데 어려움을 겪고 있습니다.재귀의 추적 깊이
Array
(
[DimA1] => Array
(
[DimB1] => Array
(
[DimC1] => Array
(
[value1] => 13708
[value2] => 4.5
)
[DimC2] => Array
(
[value1] => 1846
[value2] => 15.8
)
)
[DimB2] => Array
(
[DimC1] => Array
(
[value1] => 18166
[value2] => 6.4
)
)
[DimA2] => Array
(
....... etc
나는이 배열을 통해 단계를 필요로하고 내가 값 1과 값 2에 도착하면, 나는 일부 데이터베이스 삽입을 수행해야합니다
나는 다음과 같습니다 배열을 가지고있다. 지금이 시점에서, 나는 현재 어떤 배열을 사용 중인지 알고 있어야하며, 데이터베이스 삽입의 일부로 키 이름을 사용해야합니다.
내 현재 솔루션은 다음과 같습니다
는public function recurseCounts($array,$dims = array()) {
foreach ($array as $key => $value) {
$dims[] = $key;
if (isset($value['value1']) || isset($value['value2'])) {
print_r($value); // For debugging...
print_r($dims); // For debugging...
// DB Logic to insert dimensions in to DB here
// DB Logic to insert values in to DB here
array_pop($dims);
} else {
$this->recurseCounts($value,$dims);
}
}
}
이 루프가 DimB2 안타 지점까지 작동 상황이 괴팍스러운 받기 시작 곳이 있습니다.
해결 방법에 대한 아이디어가 있으십니까?