receiver19 Posted October 20, 2009 Share Posted October 20, 2009 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 More sharing options...
cags Posted October 20, 2009 Share Posted October 20, 2009 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. Link to comment https://forums.phpfreaks.com/topic/178336-multi-level-array-problem/#findComment-940373 Share on other sites More sharing options...
receiver19 Posted October 20, 2009 Author Share Posted October 20, 2009 The latter one. Link to comment https://forums.phpfreaks.com/topic/178336-multi-level-array-problem/#findComment-940487 Share on other sites More sharing options...
cags Posted October 20, 2009 Share Posted October 20, 2009 Will the subarrays always be in the format "continent, regent, state"? Link to comment https://forums.phpfreaks.com/topic/178336-multi-level-array-problem/#findComment-940506 Share on other sites More sharing options...
sasa Posted October 20, 2009 Share Posted October 20, 2009 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); ?> Link to comment https://forums.phpfreaks.com/topic/178336-multi-level-array-problem/#findComment-940546 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.