2013-10-31 140 views
0

我想安排我的阵列(下图)在[日期],但无济于事作为尚未:(PHP - 排序多维数组

所需垫了这一点,多用一些文字显然它主要代码和计算器不喜欢这样的:/

Array 
(
    [0] => gapiReportEntry Object 
     (
      [metrics:gapiReportEntry:private] => Array 
       (
        [uniquepageviews] => 0 
        [pageviews] => 0 
        [visits] => 0 
        [visitors] => 0 
       ) 

      [dimensions:gapiReportEntry:private] => Array 
       (
        [date] => 20131009 
       ) 

     ) 

    [1] => gapiReportEntry Object 
     (
      [metrics:gapiReportEntry:private] => Array 
       (
        [uniquepageviews] => 1 
        [pageviews] => 1 
        [visits] => 1 
        [visitors] => 1 
       ) 

      [dimensions:gapiReportEntry:private] => Array 
       (
        [date] => 20131026 
       ) 

     ) 
) 

谁能帮我 谢谢,

+0

已经尝试过这个? http://php.net/manual/de/function.array-multisort.php – TiMESPLiNTER

+1

看看那里,可能重复:http://stackoverflow.com/questions/17364127/reference-all-basic-ways-to- sort-arrays-and-data-in-php – mortaga

+0

尝试过multisort,似乎不工作,除非我做错了。 foreach($ ga-> getResults()as $ i => $ result){ \t \t $ dates [$ i] = $ result-> getDate(); } array_multisort($ dates,SORT_ASC,$ ga-> getResults()); –

回答

1

您可以使用标准的PHP usort函数来做到这一点:

$array = usort($array, function ($a, $b) use ($array){ 
    return strcmp($a -> dimensions -> date, $b -> dimensions -> date); 
}): 

通知我在这里使用一个封闭(见http://php.net/manual/fr/function.usort.php))

0

考虑到数组称为$阵列,试试这个代码:

$dates = array(); 
foreach($array as $v) 
    $dates[] = $v['dimensions:gapiReportEntry:private']; 

asort($dates); 

$sorted_array = array(); 
foreach($dates as $k => $v) 
    $sorted_array[$k] = $array[$k]; 

您将在$ sorted_array变量中得到结果。