gpt4 book ai didi

php - 在 PHP 中针对数组测试变量

转载 作者:可可西里 更新时间:2023-10-31 22:42:12 25 4
gpt4 key购买 nike

我想我应该使用 in_array()但出于某种原因,它给了我不准确的信息。我浏览了 array_search()array_key_exists()但它看起来只有在我的数组中有一个我没有的键和值时才有用。简而言之,我正在运行一个条件来获取当前的 EST 时间和日期,并确定它是“小时内”还是“下类后”。

现在是星期二 19:00,这应该是“After Hours”,但它却回显“During Hours”,我是不是漏掉了什么?

示例代码:

<?php

date_default_timezone_set('US/Eastern');
$current_time = date('A'); //AM or PM
$current_day = date('l'); // Sunday - Saturday
$current_hour = date('H'); // 08 / 24hr Time Format

$closed_days = array('Saturday','Sunday');

$closed_hours = array('17','18','19','20','21','22','23','00','01','02','03','04','05','06','07','08');
?>
<?php
echo $current_time . '<br />';
echo $current_day . '<br />';
echo $current_hour . '<br />';
//Operating Hours
if(!in_array($current_day, $closed_days) || !in_array($current_hour, $closed_hours)) {
echo 'During Hours';
} else {
echo 'After Hours';
} ?>

正在返回:

PM
Tuesday
19
During Hours

最佳答案

改变:

if(!in_array($current_day, $closed_days) || !in_array($current_hour, $closed_hours)) {

if(!in_array($current_day, $closed_days) && !in_array($current_hour, $closed_hours)) {

||等同于“或”,所以条件返回真,说这是休息日,但在您的正常工作时间

使用&&等同于“and”,要求两个条件语句都为真才能执行代码块

关于php - 在 PHP 中针对数组测试变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30744836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com