php - Replace key of array with the value of another array while looping through -


i have 2 multidimensional arrays. first 1 $properties contains english names , values. second array contains translations. example

$properties[] = array(array("floor"=>"5qm")); $properties[] = array(array("height"=>"10m"));  $translations[] = array(array("floor"=>"boden")); $translations[] = array(array("height"=>"höhe")); 

(they multidimensional because contains more elements, shouldn't matter now)

now want translate array, @ end this:

$properties[] = array(array("boden"=>"5qm")); $properties[] = array(array("höhe"=>"10m")); 

i have managed build foreach construct loop through these arrays, @ end not translated, problem is, how tell array replace key value.

what have done this:

//translate array foreach ($properties $propertyarray) {     //need second foreach because multidimensional array     foreach ($propertyarray $p_kivipropertynamekey => $p_propertyvalue) {         foreach ($translations $translationarray) {             //same above             foreach ($translationarray $t_kivitranslationpropertykey => $t_kivitranslationvalue) {                 if ($p_kivipropertynamekey == $t_kivitranslationpropertykey) {                     //name found, save new array key                     $p_kivipropertynamekey = $t_kivitranslationvalue;                 }             }         }     } } 

the problem line save new key:

$p_kivipropertynamekey = $t_kivitranslationvalue; 

i know part executed correctly , contains correct variables, believe false way assing new key.

this way should done:

$properties[$oldkey] = $translations[$newkey]; 

so tried one:

$propertyarray[$p_kivipropertynamekey] = $translationarray[$t_kivitranslationpropertykey]; 

as far understood, above line should change p_kivipropertynamekey of propertyarray value of translation array not receive error nor name translated. how should done correctly?

thank help!

additional info

this live example of properties 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                 )         ) ) 

and live example of translations array

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         ) ) 

i can build translations array in way. did this, because in second step have check, group keys belong to...

according structure of $properties , $translations, somehow know how these connected. it's bit vague how indices of array match eachother, meaning values in $properties @ index 0 equivalent translation in $translations @ index 0.

i'm wondering why $translations array need have same structure (in nesting) $properties array. opinion word height can mean höhe in german. representing array suggest there multiple translations possible.

so if narrow down $translations array 1 dimensional array in:

$translation = array(   "height"=>"höhe",   "floor"=>"boden" ); 

a possible loop be

$result = array();  foreach($properties $i => $array2) {   foreach($array2 $i2 => $array3) {     foreach($array3 $key => $value) {       $translatedkey = array_key_exists($key, $translations) ?         $translations[$key]:         $key;       $result[$i][$i2][$translatedkey] = $value;     }   } } 

(i see every body posting 2 loops, it's array,array,array structure, not array,array ..)

if cannot narrow down translation array 1 dimensional array, i'm wondering if each index in $properties array matches same index in $translations array, if it's same trick adding indices (location):

$translatedkey = $translations[$i][$i2][$key]; 

i've used array_key_exists because i'm not sure translation key present. have create logic each case scenario on check or not.


Comments

Popular posts from this blog

node.js - Bad Request - node js ajax post -

Why does Ruby on Rails generate add a blank line to the end of a file? -

keyboard - Smiles and long press feature in Android -