第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

急求!?。?!PHP 獲取下一個符合條件的整點(diǎn)數(shù)

急求?。。?!PHP 獲取下一個符合條件的整點(diǎn)數(shù)

慕工程0101907 2019-10-31 10:20:42
問題描述例如有一個數(shù)組,存儲的是一些整點(diǎn)數(shù)據(jù),無排序無規(guī)律,ex:$hours=[1,3,6,2,13,16,18,20];現(xiàn)在需要快速得出當(dāng)前時間最接近的整點(diǎn)數(shù),如果當(dāng)前整點(diǎn)在數(shù)組內(nèi),則為當(dāng)前整點(diǎn),如果不在,則獲取下一個最接近的整點(diǎn)數(shù),依次類推。整點(diǎn)數(shù)應(yīng)該大于等于當(dāng)前整點(diǎn),但是得判斷跨天的情況,列如當(dāng)前時間點(diǎn)是21點(diǎn),那符合條件的應(yīng)該是1。問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法因?yàn)槭菚r間整點(diǎn),所以是24進(jìn)制,沒法直接判斷最臨近的數(shù),所以目前想到的辦法是循環(huán)這個數(shù)組,依次拼接出各個時間戳(還得判斷是否為跨天),然后當(dāng)前時間戳做減法,取絕對值,然后按照這個差值進(jìn)行排序,獲取符合條件的數(shù),總覺得效率不高,請問有更好的解法嗎?
查看完整描述

2 回答

?
函數(shù)式編程

TA貢獻(xiàn)1807條經(jīng)驗(yàn) 獲得超9個贊

還是自己來吧!
$hours=[1,3,6,2,13,16,18,20];
$current_hour=date("G")+1;
$hours=array_unique($hours);
$count=count($hours);
$hours[]=$current_hour;
sort($hours);
$idx=array_search($current_hour,$hours);
if($idx==$count){
$result=$hours[0];
}
else{
$result=$hours[$idx+1];
}
echo$result;
                            
查看完整回答
反對 回復(fù) 2019-10-31
?
子衿沉夜

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個贊

$hours=[1,3,6,2,13,16,18,20];
$current_hour=21;
$minDiff=null;
$return_hour=null;
foreach($hoursas$hour){
$diff=$hour-$current_hour;
if($diff<0){
$diff=$diff+24;
}else{}
if(($minDiff===null)OR($minDiff>$diff)){
$minDiff=$diff;
$return_hour=$hour;
}else{}
}
echo$return_hour;
                            
查看完整回答
反對 回復(fù) 2019-10-31
  • 2 回答
  • 0 關(guān)注
  • 503 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號