2016-03-18 30 views
1

我希望從每個關注的最低日期。獲取從foreach的最低日期

foreach ($check_date AS $value) { 
    if ($result[$i][$j]['date'] == $value['date']) { 

     if ($value['date_type'] == '1') { 
      $result[$i][$j]['value'] = -555; 
     } else if ($value['date_type'] == '2') { 
      $result[$i][$j]['value'] = -666; 
     } 

    } 

    if ($j < $limit - 1 && $result[$i][$j + 1]['date'] == $value['date'] ) { 
     print_r($result[$i][$j + 1]['date']); 
     if ($value['date_type'] == '1') { 
      $result[$i][$j]['value'] = 0; 
     } else if ($value['date_type'] == '2') { 
      $result[$i][$j]['value'] = 0; 
     } 
    } 
} 

print_r($result[$i][$j + 1]['date']); printes 2016-03-212016-03-22。我想從這裏得到2016-03-21。

如何實現這一點。

回答

1

我想你只想在最低日期,如果你使用print_r。所以下面的代碼只適用於這種情況。 你可以有一個變量在哪裏存儲這個最小日期並在之前進行初始化。並在每個循環中檢查是否沒有被引用或更小。 所以代碼應該是這樣的:

$min_date = false; 
foreach ($check_date AS $value) { 
    if ($result[$i][$j]['date'] == $value['date']) { 

     if ($value['date_type'] == '1') { 
      $result[$i][$j]['value'] = -555; 
     } else if ($value['date_type'] == '2') { 
      $result[$i][$j]['value'] = -666; 
     } 

    } 

    if ($j < $limit - 1 && $result[$i][$j + 1]['date'] == $value['date'] ) { 
     if($min_date === false || $min_date > $result[$i][$j + 1]['date']) { 
      $min_date = $result[$i][$j + 1]['date']; 
     } 
     print_r($result[$i][$j + 1]['date']); 
     if ($value['date_type'] == '1') { 
      $result[$i][$j]['value'] = 0; 
     } else if ($value['date_type'] == '2') { 
      $result[$i][$j]['value'] = 0; 
     } 
    } 
} 
echo $min_date; // Here you will have the lowest date. 
+0

它的工作非常感謝@Daniel Dudas – saku