【问题标题】:Get value of next element in array of arrays获取数组数组中下一个元素的值
【发布时间】:2017-05-31 10:09:04
【问题描述】:

我有一个数组,其中包含一个日期的数组键,值是另一个数组。

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 索引。将更新问题。

标签: php arrays multidimensional-array foreach


【解决方案1】:

你不能在值上使用 next,next 用于数组内部索引。

<?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);
}

【讨论】:

  • 开始认为我需要使用 while 而不是 foreach,非常感谢。
猜你喜欢
  • 2012-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-29
  • 1970-01-01
  • 2010-12-27
相关资源
最近更新 更多