2014-07-18 148 views
-2

的我有一個數組,像這樣:PHP獲得最高值和最低值超出陣列

Array 
(
    [0] => Array 
     (
      [rb_priceRangeId] => 3 
      [rb_priceRangeMin] => 300000 
      [rb_priceRangeMax] => 399999 
     ) 

    [1] => Array 
     (
      [rb_priceRangeId] => 5 
      [rb_priceRangeMin] => 400000 
      [rb_priceRangeMax] => 499999 
     ) 

) 

我該如何獲得最低值出rb_priceRangeMin到一個變量,並得到hightest值超出rb_priceRangeMax到一個變量?我想我必須使用一個foreach,但我不知道它裏面會發生什麼。任何幫助將高度讚賞

我已經試過

foreach($array as $row => $value){ 

$min = $value['rb_priceRangeMin']; 

if($min < $value['rb_priceRangeMin']){ 
    $min = $value['rb_priceRangeMin']; 
} 

$max = $value['rb_priceRangeMax']; 

if($max < $value['rb_priceRangeMax']){ 
    $max = $value['rb_priceRangeMax']; 
} 

} 
+1

你嘗試過什麼?本網站將幫助您解決問題,而不是爲您編寫代碼。 – Pitchinnate

+0

你可以使用[array_filter](http://php.net/manual/en/function.array-filter.php)來做到這一點。 – machineaddict

+1

爲什麼不把所有的「rb_priceRangeMin」和「rb_priceRangeMax」元素都插入到一個數組中,並試圖使用max()&min()。不能說這是最好的解決方案,但我認爲它會完成這項工作。 – mi6crazyheart

回答

1
$minmax = array('min' => $array[0]['rb_priceRangeMin'], 'max' => 0); 
foreach ($array as $val) { 
    if ($val['rb_priceRangeMin'] < $minmax['min']) { $minmax['min'] = $val['rb_priceRangeMin']; } 
    if ($val['rb_priceRangeMax'] > $minmax['max']) { $minmax['max'] = $val['rb_priceRangeMax']; } 
} 
1
$minValue = false; 
$maxValue = false; 

foreach($array as $a) 
{ 
    if ($minValue === false || $a['rb_priceRangeMin'] < $minValue) $minValue = $a['rb_priceRangeMin']; 
    if ($maxValue === false || $a['rb_priceRangeMax'] > $maxValue) $maxValue = $a['rb_priceRangeMax']; 
} 
相關問題