У меня есть два многомерных массива. Первый $properties
содержит английские имена и их значения. Мой второй массив содержит переводы. ПримерЗаменить ключ массива на значение другого массива при прохождении через
$properties[] = array(array("Floor"=>"5qm"));
$properties[] = array(array("Height"=>"10m"));
$translations[] = array(array("Floor"=>"Boden"));
$translations[] = array(array("Height"=>"Höhe"));
(Они являются многогранными, поскольку содержит больше элементов, но они не должны теперь имеет значение)
Теперь я хочу, чтобы перевести этот массив, так что я ИТС в конце, как это:
$properties[] = array(array("Boden"=>"5qm"));
$properties[] = array(array("Höhe"=>"10m"));
мне удалось построить Еогеасп построить перебрать эти массивы, но в конце концов, это не переводится, проблема в том, как я говорю массив заменить ключ со значением.
То, что я сделал это:
//Translate Array
foreach ($properties as $PropertyArray) {
//need second foreach because multidimensional array
foreach ($PropertyArray as $P_KiviPropertyNameKey => $P_PropertyValue) {
foreach ($translations as $TranslationArray) {
//same as above
foreach ($TranslationArray as $T_KiviTranslationPropertyKey => $T_KiviTranslationValue) {
if ($P_KiviPropertyNameKey == $T_KiviTranslationPropertyKey) {
//Name found, save new array key
$P_KiviPropertyNameKey = $T_KiviTranslationValue;
}
}
}
}
}
Проблемы с линией, где сохранить новый ключ:
$P_KiviPropertyNameKey = $T_KiviTranslationValue;
Я знаю, что часть выполнена правильно и содержит правильные переменные , но я считаю, что это ложный способ осмыслить новый ключ.
Это так, как это должно быть сделано:
$properties[$oldkey] = $translations[$newkey];
Так что я попытался это одно:
$PropertyArray[$P_KiviPropertyNameKey] = $TranslationArray[$T_KiviTranslationPropertyKey];
Насколько я понял, выше строка должна изменить P_KiviPropertyNameKey в PropertyArray в значение Translation Array, но я не получаю никакой ошибки и не переводится имя. Как это должно быть сделано правильно?
Благодарим за помощь!
Дополнительная информация
Это живой пример массива свойств
Array
(
[0] => Array
(
[country_id] => 4402
)
[1] => Array
(
[iv_person_phone] => 03-11
)
[2] => Array
(
[companyperson_lastname] => Kallio
)
[3] => Array
(
[rc_lot_area_m2] => 2412.7
)
[56] => Array
(
[floors] => 3
)
[57] => Array
(
[total_area_m2] => 97.0
)
[58] => Array
(
[igglo_silentsale_realty_flag] => false
)
[59] => Array
(
[possession_partition_flag] => false
)
[60] => Array
(
[charges_parkingspace] => 10
)
[61] => Array
(
[0] => Array
(
[image_realtyimagetype_id] => yleiskuva
)
[1] => Array
(
[image_itemimagetype_name] => kivirealty-original
)
[2] => Array
(
[image_desc] => makuuhuone
)
)
)
И это живой пример массива переводов
Array
(
[0] => Array
(
[addr_region_area_id] => Maakunta
[group] => Kohde
)
[1] => Array
(
[addr_town_area] => Kunta
[group] => Kohde
)
[2] => Array
(
[arable_no_flag] => Ei peltoa
[group] => Kohde
)
[3] => Array
(
[arableland] => Pellon kuvaus
[group] => Kohde
)
)
я могу построить переводы массив по-другому. Я сделал это так, потому что на втором этапе я должен проверить, к какой группе ключи принадлежат ...
Thx! Я хочу заменить ключ $ properties значением $ translations – Owl
Является ли массив всегда одним ребенком глубиной? –
Noo, к сожалению, нет ... Я думал, что сначала перенять первые ребята, а потом беспокоиться о втором lvl ... – Owl