2017-01-16 252 views
2

我有一個包含日期數組鍵的數組,其值爲另一個數組。獲取數組數組中下一個元素的值

Array ([2017-01-01] => Array ([available] => 1) [2017-01-02] => Array ([available] =>) [2017-01-03] => Array ([available] => 1)) 

我試圖找到一種觀察方式,如果不可用的天是最後一個或第一個給定的可用天。我正在使用下面的代碼,但得到一個錯誤「只能通過引用傳遞變量」。

foreach ($calendar as $date) { 
    if ($date["available"] == 1) { 
     if (next($date["available"] != 1)) { 
      echo $date . ' end'; 
     } 
    } 
} 

我可以看到爲什麼這不起作用,但想不到我能達到我想要的。

+0

它是否有0指數 –

+0

我想是的,因爲它是第一個。除非我很厚,這完全有可能。 – Badger

+0

好吧,不,它沒有0索引。將更新問題。 – Badger

回答

2

你不能使用下一個值,接下來是使用數組內部索引。

<?php 
$calendar = array ('2017-01-01' => array ('available' => 1), '2017-01-02' => array ('available' => ''), '2017-01-03' => array ('available' => 1)); 
while(current($calendar)) 
{ 
    if(current($calendar)['available'] == 1) 
    { 
     if(next($calendar)['available'] != 1) 
      var_dump(current($calendar)); 
      echo 'end'."\n"; 
    } 
    next($calendar); 
} 
+1

開始認爲我需要使用while而不是foreach,非常感謝。 – Badger