我在10分钟的时间间隔内循环2次,效果很好,输出的时间如下:
<?=$time->format('H:i')?>
然后我从数据库中提取数据,然后我想查看循环中的数据是否与数据库中的数据匹配。我创建了一个方法来从数据库中获取所有记录并将它们输出到数组中。然后我想使用in_array匹配它们,然后通过另一个方法运行该值以获取有关它的数据。问题是它不匹配,问题在于:
if (array_search($time->format('H:i'), $bookings))
echo "Match";
$ booking是一个多维数组,如下所示:
Array (
[0] => Array ( [id] => 1 [time] => 12:00 )
[1] => Array ( [id] => 2 [time] => 15:00 )
...
)
提前致谢!
答案 0 :(得分:1)
如果直接从数据库获取值,会更容易。如果你想在php中处理它,你可以尝试使用array_walk()。我不确定语法,但应该像
function search($value, $key, $needle)
{
array_search($needle, $value);
}
array_walk($bookings, 'search', $time->format('H:i'));
其中$value
将是您的内部数组
大家,如果我的语法错误
答案 1 :(得分:0)
直接查询数据库可能会更简单 - 如果可以的话 - 而且你的查询会像
那样select * from `table_name` WHERE `date_field` = $your_date
如果这不能形成解决方案,您可以使用上面的array_walk,或者只是循环一点:
foreach($bookings as $array) {
if(array_search($time->format('H:i'), $array)) {
echo 'match';
// If you don't want to keep searching use 'break'.
}
}