我有一个与 php 中的数组相关的简单问题。
这是问题所在。
我有一个这样的数组
$week_array = array(
'2013-08-18',
'2013-08-11',
'2013-08-04',
'2013-07-28',
'2013-07-21',
);
我正在检索这些记录
$records = array(
array( '2013-08-06' ),
array( '2013-08-05' ),
array( '2013-08-04' ),
array( '2013-08-03' ),
array( '2013-08-03' ),
array( '2013-08-02' ),
array( '2013-08-02' ),
array( '2013-08-01' ),
array( '2013-08-01' ),
array( '2013-07-31' ),
array( '2013-07-31' ),
array( '2013-07-30' ),
);
这是我的代码
$week_counter = 0;
foreach($records as $row){
if($row['date'] < $week_array[$week_counter] && $row['date'] >=$week_array[$week_counter+1]){
echo 'workig';
echo '<br>';
$week_counter++;
}
}
在条件的基础上,我想显示summery(我在这里省略了)。但它什么也不显示,因为条件永远不会满足。当获取数据并且范围正确满足时,将显示摘要。
现在我怎样才能将指针移动到我的记录应该匹配的确切范围。简而言之,我想删除数组的一些元素,以便像这样形成新数组。
$week_array = array(
'2013-08-11',
'2013-08-04',
'2013-07-28',
'2013-07-21',
);
因为开始日期2013-08-06
介于第一个值和第二个值之间,所以我想将指针移动到第一个索引而不是保持在 0 或者我想切片数组。我怎样才能做到这一点?
另一件事是我无法更改我提供的条件,因为它已经正确显示了summery。
编辑
$records = array(
array( '2013-08-12' ),
array( '2013-08-09' ),
array( '2013-08-06' ),
array( '2013-08-06' ),
array( '2013-08-05' ),
array( '2013-08-04' ),
array( '2013-08-03' ),
array( '2013-08-03' ),
array( '2013-08-02' ),
array( '2013-08-02' ),
array( '2013-08-01' ),
array( '2013-08-01' ),
array( '2013-07-31' ),
array( '2013-07-31' ),
array( '2013-07-30' ),
在这个数组中,您可以看到第一和第二范围内的记录。