Re: Sort two coupled arrays

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux