周六和周日设置为“0”因为DJ不会播出。但是在下面的函数中,无论如何都会显示它们。
$djday = date( 'D' );
设置为返回Mon
,Tue
,Wed
,Thu
,Fri
,Sat
,{{ 1}}
Sun
怎样才能显示图像(返回true)?
编辑:这是整个脚本https://github.com/gregrickaby/DJ-Rotator-for-WordPress/blob/master/dj-rotator-for-wordpress.php
0 == Sat
答案 0 :(得分:1)
是boolean / int 0 == TRUE
还是字符串'0' == TRUE
?
检查PHP type comparison table以获取有关比较这些值的更多信息。但是,我认为你必须弄错,“0”或0永远不会是一个真正的价值。
答案 1 :(得分:1)
您需要知道您存储的0是实际数字还是字符串。如果它们是字符串,则所有比较都将为假,因为两个字符串不相等而且一个不是数字字符串。
但是,如果0实际上是一个数字而不是一个字符串,那么字符串“Sat”将自动转换为数字。由于它不是数字,因此变为0,并且比较为真。
如果您想避免使用===
代替==
所有此类强制内容。但是,当你期望相等为真时,你必须确保所有类型都匹配。
答案 2 :(得分:0)
对于所有OR语句,只有其中一个必须命中它才能传递该IF语句。我不确定你的阵列是如何设置的,是这样的:
$djwp_images = array( '<image name>' =>
array('monday' => "Mon",
'tuesday' => "Tue",
...
'sunday' => 0,
...
如果这是它的设置方式,那么if语句将无法捕获它,因为无论星期日或星期六是否也设置了星期二和星期一。不过没有更多数据,我不确定。也许最好设置['day'],但我不确定已经设置了什么。
编辑:其他正确0 ==“a”......您可能需要使用===进行类型检查和比较。