2017-01-16 3 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

나는 foreach보다는 오히려 동안을 사용할 필요가있을 것이라고 생각하기 시작했다, 대단히 감사합니다. – Badger

관련 문제