2016-12-16 55 views
3
大家

您好我有一個數組使用laravel

$dates = [2016-11-02,2016-11-05,2016-11-11,2016-11-15,2016-11-16] 

在這個比較兩個數組我現在得到的所有日期我想$currentdate (2016-12-16)比較喜歡這個

if($dates <= $currentdate){ 
    echo "true"; 
} else{ 
    echo "false"; 
} 

任何幫助將非常感激。

回答

1

不清楚其他答案,但如果你想驗證所有日期,請用下面的代碼...應該工作:)

$isLess = false; 
$currentDate = Carbon::now(); 

foreach($dates as $data) { 
    if(Carbon::parse($date)->lte(currentDate)){ 
    $isLess = true; 
    break; 
    } 
} 

echo $isLess; 

讓我知道在評論,如果你面對任何問題:)

+0

我有$日期[]現在想要比較像這樣的當前日期$ mytime = Carbon :: now(); \t $ time = $ mytime-> toDateString(); –

+0

@RahulSingh這將''日期'作爲一個數組。爲什麼要將'Carbon :: now()'轉換爲'DateString'?這將導致字符串比較... – prateekkathal

0

由於您使用Laravel,你可以做到這一點與Carbon

if (Carbon::now()->gte(Carbon::parse($oneDate)) 
+0

我有兩個日期和當前日期的陣列還我怎樣才能通過數組如果(碳::解析($日期)< Carbon :: now())謝謝 –

+0

首先迭代你的數組,然後比較。 –

0

您可以將其解析到碳,利用其比較函數

$date = Carbon::parse($date); 
if($date->lte(Carbon::today())){ 
// your code 
} 

這裏 lte()意味着小於等於到

瞭解更多關於碳訪問比較運營商http://carbon.nesbot.com/docs/#api-comparison

-1

在一個行(雖然不是最漂亮的)

if (collect(collect($dates)->filter(function($date) use($currentDate) { return Carbon::parse($date)->lte($currentDate); }))->count > 0) { 

}