Jump to content

Multi Level Array Problem


receiver19

Recommended Posts

hi all,

 

For example I have array like below:

 

$temp = array(array('north america', 'us', 'california'), array('north america', 'us', 'hawaii'), array('north america', 'canada', 'vancouver'), array('asia', 'singapore', 'orchard');

 

I need to filter it out. So i hope the result could be:

 

array

  'north america' =>

    array

      'us' =>

          array 0 =>string 'california'

                  1 =>string 'hawai'

  'asia' =>

    array

      'singapore'

            array 0 => string 'orchard'

 

 

 

Anyone could help me to sorf out the logic? I just cannot solve this question.

 

Thanks a lot!

Link to comment
https://forums.phpfreaks.com/topic/178336-multi-level-array-problem/
Share on other sites

Are you saying you wish your array to look like your ouput example, or are you saying you wish to programmatically convert example code a.) into example output b.). If the former your array should be...

 

$places = array('north_america'=>array('us'=>array('california', 'hawai')),'asia'=>array('singapore'=>'orchard'));

 

...if the latter then let us know.

try

<?php
$temp = array(array('north america', 'us', 'california'), array('north america', 'us', 'hawaii'), array('north america', 'canada', 'vancouver'), array('asia', 'singapore', 'orchard'));
$out = array();
foreach ($temp as $t) $out[$t[0]][$t[1]][] = $t[2];
print_r($out);
?>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.