Bu belirsiz eğer benimle ayı; Ben tam (dolayısıyla neden yardım istemek için buradayım) bu başımı sarma sorun var.
Şöyle bir dizi var:
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
Ben bu diziye adım gerekiyor ve ben değer1 ve değer2 olsun, ben bazı veritabanı ekler yapmak gerekir. Zaman içinde bu noktada, ben şu anda adım attı ediyorum hangi diziler sadece farkında olmak ve benim veritabanı ekler parçası olarak kendi anahtar adını kullanmak gerekir.
Benim geçerli çözüm bu gibi görünüyor:
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);
}
}
}
Bu döngü, DimB2 vurur şeyler kaçık başlar nerede o noktaya kadar çalışır.
Bu çözmek konusunda herhangi bir fikir?