On Wed, Apr 7, 2010 at 5:02 PM, Paul M Foster <paulf@xxxxxxxxxxxxxxxxx> wrote: > On Wed, Apr 07, 2010 at 04:09:47PM -0400, tedd wrote: > >> Hi gang: >> >> Here's the problem -- I want to sort and combine two arrays into one >> sorted array. Here's a real-world example: >> >> Array 1 >> ( >> [1] => 75 >> [2] => 31 >> [3] => 31 >> [4] => 31 >> [5] => 40 >> ) >> >> Array 2 >> ( >> [1] => Personal Email >> [2] => Personal Phone >> [3] => Web site >> [4] => Text Message >> [5] => USPS mail >> ) >> >> After the operation, I want this: >> >> Array >> ( >> [75] => Personal Email >> [40] => USPS mail >> [31] => Personal Phone >> [31] => Web site >> [31] => Text Message >> ) [snip] > Just so I understand the way arrays work in PHP (gee, I *thought* I > did!), as you add the final three elements in the final array, won't > they overwrite each other? I was under the impression that a > *numerically* indexed array has a constraint that the numeric indexes be > unique, if not contiguous. Am I wrong? If so, please provide a > reference. Or are those "numbers" really strings? > > Paul > > -- > Paul M. Foster Array indexes have to be unique regardless of whether they are numeric or strings. <?php $a = array ( 1 => '75', 2 => '31', 3 => '31', 4 => '31', 5 => '40', ); $b = array ( 1 => 'Personal Email', 2 => 'Personal Phone', 3 => 'Web site', 4 => 'Text Message', 5 => 'USPS mail', ); $x = array_combine($a, $b); var_export($x); /* array ( 75 => 'Personal Email', 31 => 'Text Message', 40 => 'USPS mail', ) */ echo "\n"; krsort($x); var_export($x); /* array ( 75 => 'Personal Email', 40 => 'USPS mail', 31 => 'Text Message', ) */ ?> Andrew -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php