Bu arrayin en olan keyindeki undef keyinde bulunan E Oha key'ini itere etmek çok zor. Sürekli bir iç içe foreach gerekiyor. En basitinden E Oha'nın sadece kendisini alan altındaki değerleri almayan bir sınıf yazdığımızı düşünelim:
class Translator {
public static function DoTranslate(array $lang_arr) {
foreach ($lang_arr as $key => $value) {
$s = $lang_arr[$key];
foreach ($s as $skey => $svalue) {
if (!is_array($svalue)) {
echo "$skey -- $svalue<br/>";
}
else {
foreach ($svalue as $ikey => $ivalue) {
echo "$ikey -- $ivalue<br/>";
}
}
}
}
}
}
Bu sınıfta önce ilk array ile ilk değerler alınıyor. Sonra diğerleri.
var_dump(Translator::DoTranslate($langs));
die();
ile çıkan değere bakabiliriz:
Evet -- Yes
Hayir -- No
undef ===> Ho! -- Undo
undef ===> Zo! -- UnZo
undef ===> E Oha - Array
Evet -- Qui
Hayir -- Non
3. undef çıktısındaki E Oha'nın Array çıktısını otomatiğe bağlamak gerekiyor. Çözüm yolu gerekiyor bunun için.