2012-07-25 86 views
-1

我有此数组:PHP多排序数组项

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 
     ) 

) 

而且我想要的结果排序“哩”。

我该怎么做?

+1

第一步将包括一个名为“英里”中的对象成员,我会说... – fvu 2012-07-25 11:52:02

+0

但是哪里有英里 – bugwheels94 2012-07-25 11:52:46

+0

英里?基于邮政编码,我们必须计算里程,然后理清? – Makesh 2012-07-25 11:53:14

回答

4

可以使用usort功能

function Compare($a, $b) { return $a->miles < $b->miles; } 
usort($results, 'Compare'); 
+1

太棒了,它的工作。 – CroiOS 2012-07-25 12:06:09

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; 
} 

通过数组的子值排序数组的函数。 $ a是数组传递,$ subkey是数组键,通过它将排序。

+0

伟大的,工作的数组,但不是我的数组有对象。 – CroiOS 2012-07-25 11:59:22

+0

你可以尝试编辑一下。 – dpitkevics 2012-07-25 11:59:56

+0

@DanielsPitkevičs他想要排序对象,而不是子目录 – fvu 2012-07-25 12:06:05