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! Quote 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. Quote 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. Quote 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"? Quote 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); ?> Quote Link to comment https://forums.phpfreaks.com/topic/178336-multi-level-array-problem/#findComment-940546 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.