2014-11-21 163 views
0

我有這樣獲取最小值和最大值組值從多維數組在PHP

(
    [0] => Array 
     (
      [date] => 2014-11-05 
      [price] => 40800.00 
     ) 

    [1] => Array 
     (
      [date] => 2014-11-05 
      [price] => 42699.00 
     ) 

    [2] => Array 
     (
      [date] => 2014-11-07 
      [price] => 43500.00 
     ) 

) 

多維數組我怎樣才能得到價格日期值其中價格是最低和其中價格是最高在PHP?

+0

數組來自哪裏? – Strawberry 2014-11-21 13:22:53

+2

先寫代碼並給我們看。 – Girish 2014-11-21 13:24:18

回答

2

array_reduce最大:

$result = array_reduce($arr, function($memo, $el) { 
    if($memo[0] < $el['price']) { 
    $memo = array($el['price'], $el); 
    } 
    return $memo; 
}, array(0, null)); 

echo $result[1]; // contains the maximal element 

我想這是再清楚不過如何得到最小值。

在另一方面,你可能sort數組,然後獲得第一和最後一個值:

usort($arr, function($a, $b) { 
    return ($a['price'] < $b['price']) ? 
     -1 : (int) !($a['price'] === $b['price']); 
}); 

現在你有一個排序按價格排列。

+0

感謝'array_reduce'方法爲我工作。 – Badal 2014-11-21 13:40:23

1
 $arr=array(
     array 
      (
       'date' => 2014-11-05, 
       'price' => 40800.00 
      ), 

     array 
      (
       'date' => 2014-11-05, 
       'price' => 42699.00 
      ) 
    , 
     array 
      (
       'date' => 2014-11-07, 
       'price' => 43500.00 
      ) 

    ); 
     $temp=0; 
     foreach($arr as $person) { 
      $p=$person['price']; 
      if($temp<$p) 
       $temp=$p; 

     } 
     echo 'Max price: '. $temp; 

     $t=$arr[0]['price']; 
     foreach($arr as $person) { 
      $p=$person['price']; 
      if($t>$p) 
      $t=$p; 

      } 
echo "Min price: ".$t; 
相關問題