-1

I have this array:

    Array
(
    [0] => stdClass Object
        (
            [ID] => 1206
            [post_title] => Corporation 5
            [zip_code] => 33017
            [miles] => 13.24
        )

    [1] => stdClass Object
        (
            [ID] => 1197
            [post_title] => Contract deal
            [zip_code] => 33432
            [miles] => 22.7
        )

    [2] => stdClass Object
        (
            [ID] => 1057
            [post_title] => Corporation Deal test1
            [zip_code] => 33019
            [miles] => 0
        )

    [3] => stdClass Object
        (
            [ID] => 1040
            [post_title] => Bankruptcy Deal1 test lorem ipsum
            [zip_code] => 33019
            [miles] => 0
        )

    [4] => stdClass Object
        (
            [ID] => 993
            [post_title] => Finally an Affordable Living Trust, Only $100!
            [zip_code] => 33019
            [miles] => 0
        )

)

And I want results sort by "miles".

How can I do that?

iWizard
  • 6,816
  • 19
  • 67
  • 103
  • 1
    A first step would be to include a member called "miles" in the objects I'd say... – fvu Jul 25 '12 at 11:52
  • miles ?? based on zipcode ,we have to calculate miles and then sort out ?? – Makesh Jul 25 '12 at 11:53
  • PHP sort multidimensional array - http://stackoverflow.com/questions/2699086/php-sort-multidimensional-array-by-value – OdinX Jul 25 '12 at 11:59

2 Answers2

4

You can use the usort function

function Compare($a, $b) { return $a->miles < $b->miles; }
usort($results, 'Compare');
FatalError
  • 922
  • 12
  • 31
1
public function subval_sort($a, $subkey) {       
    foreach($a as $k=>$v) {
    $b[$k] = strtolower($v[$subkey]);
}
asort($b);
foreach($b as $key=>$val) {
    $c[] = $a[$key];
}

return $c;
}

Function that sorts array by its array subvalue. $a is array passed and $subkey is array key by which it will be sorted.

dpitkevics
  • 1,238
  • 8
  • 12