php - Convert multidimensional array with key and value -


i have php array like:

array ( [11] => array     (         [0] => foo         [1] => bar         [2] => hello     )  [14] => array     (         [0] => world         [1] => love     )  [22] => array     (         [0] => stack         [1] => overflow         [2] => yep         [3] => man     )  ) 

i want result as:

array (  'foo' => '11',  'bar' => '11',  'hello' => '11',  'world' => '14',  'love' => '14',  'stack' => '22',  'overflow' => '22',  'yep' => '22',  'man' => '22'  ) 

tried foreach inside foreach still not make way. there 2 levels.

you didn't show foreach attempt, it's simple:

foreach($array $key => $val) {     foreach($val $v) {         $result[$v] = $key;     } } 

you wrap inner foreach in if(in_array()) if aren't guaranteed arrays. also, sub array values must unique or you'll key/value last one.

here's way:

$result = array();  foreach($array $key => $val) {     $result = array_merge($result,                 array_combine($val, array_fill(0, count($val), $key))); } 

creates result array using values of inner array keys , filling values parent array key. merge previous result.


Comments

Popular posts from this blog

sequelize.js - Sequelize group by with association includes id -

android - Robolectric "INTERNET permission is required" -

java - Android raising EPERM (Operation not permitted) when attempting to send UDP packet after network connection -