我正在嘗試檢查在特定時間范圍內(nèi)預(yù)訂了多少活動。所以,我試圖創(chuàng)建一個數(shù)組,time_stamp作為一個數(shù)組和space value一個值,如下所示:$數(shù)據(jù)<pre>Array( [0] => stdClass Object ( [id] => 7 [start] => 2019-06-30 [end] => 2019-06-30 [start_time] => 11:00:00 [end_time] => 12:00:00 [hall_space] => 2 ) [1] => stdClass Object ( [id] => 9 [start] => 2019-06-30 [end] => 2019-06-30 [start_time] => 11:00:00 [end_time] => 12:00:00 [hall_space] => 2 ))</pre所以,創(chuàng)建數(shù)組$booked = array();foreach($data as $dk => $dv){ $time_stamp = strtotime($dv->start.' '.$dv->start_time).'_'.strtotime($dv->end.' '.$dv->end_time).'_'.$dk; $booked[$time_stamp] = $dv->rink_space;}因此,這里存儲的數(shù)據(jù)如下:<pre>Array( [1561892400_1561896000_0] => 2 [1561892400_1561896000_1] => 2)</pre>但是,如果我刪除這部分,.'_'.$dk它將用第二個索引替換第一個索引并僅保存一個索引,如下所示:<pre>Array( [1561892400_1561896000] => 2)</pre>在這種情況下,如果出現(xiàn)相同的索引,而不是替換,我想添加值,使值變?yōu)?4 而不是 2,如下所示:<pre>Array( [1561892400_1561896000] => 4)</pre>
1 回答

慕桂英3389331
TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個贊
有幾種方法可以解決它,一個簡單的方法是檢查值是否存在(使用isset()),如果存在,只需將其添加進(jìn)去,如果不存在,則將其設(shè)置為新值...
$booked = array();
foreach($data as $dk => $dv){
$time_stamp = strtotime($dv->start.' '.$dv->start_time).'_'.strtotime($dv->end.' '.$dv->end_time);
if ( isset($booked[$time_stamp]) ) {
$booked[$time_stamp] += $dv->rink_space;
}
else {
$booked[$time_stamp] = $dv->rink_space;
}
}
(我已經(jīng)刪除了時間戳的結(jié)尾,這是我假設(shè)您試圖避免這樣做的)。
- 1 回答
- 0 關(guān)注
- 150 瀏覽
添加回答
舉報
0/150
提交
取消