This is a terribly inneficient way of handling your situation but I believe
it would work.

// First we're going to make a list of all company values
for($i=0; $i<count($myarray); $i++)
{
    $company_values[] = $myarray[$i][company];
}

// Then we're going to order the array using a standard function.
natsort($company_values);

// Then we're going to go through $myarray  looking for each matching
// value and build a new array based on the order of the sorted list.
for($i=0; $i<count($company_values); $i++)
{
    for ($j=0; $j=<count($myarray); $j++)
    {
        if ($company_values[$i] == $myarray[$j][company])
        {
            $mynewarray[] = $myarray[$j];
        }
    }
}

// bada bing bada boom you gots your company sorted list... I think
$myarray = $mynewarray;

I wrote this off the top of my head in like three minutes so any and all
corrections would be most welcome.  ;)
-Kevin

----- Original Message -----
From: "SED" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Friday, April 12, 2002 10:25 AM
Subject: [PHP] How to sort by 3rd row in an 2d-Array


> Hi,
>
> I'm trying to sort an array like following
>
> myArray[1][firstname] = "Joe";
> myArray[1][lastname] = "Smith";
> myArray[1][company] = "Bullock";
> myArray[1][email] = "[EMAIL PROTECTED]";
> myArray[2][firstname] = "Jim";
> myArray[2][lastname] = "Cords";
> myArray[2][company] = "Jamen";
> myArray[2][email] = "[EMAIL PROTECTED]";
> etc...
>
> by the company name. How can I do it?
>
> I found the solution on php.net
> (http://www.php.net/manual/en/function.array-multisort.php) but it sorts
> only the first row:
>
> foreach ($myArray as $val) {
>         $sortarray[] = $val['nafn'];
> echo $val['stadur'];
> }
> array_multisort($myArray, $sortarray);
>
> Thanks in advance!
>
> SED
>
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to