使用in_array在PHP中查找变量

时间:2019-02-08 18:55:59

标签: php

我有一个数组 $ datearray

数组[0] => 2019年2月8日星期五[1] => 2019年2月9日星期六[2]

我要用今天的日期来查看它是否与数组中的任何内容匹配。我将今天的日期放入变量 $ today 。当我使用此变量时,没有匹配项。

我知道这很可能会被标记为重复,但是我浏览过其他帖子,但没有得到,任何帮助都很好!

$today = date("D d M Y");  
if (in_array($today, $datearray)) {
echo "success";
} else{
echo 'Fail';
}

例如,如果我将日期添加为字符串,则...

$today = date("D d M Y");  
if (in_array('Fri 08 Feb 2019', $datearray)) {
echo "success";
} else{
echo 'Fail';
}

然后我收到成功消息,这与数据类型不同是否更多?

已编辑

这是我创建数组的方式,对不起,我应该先添加此数组... 时间最初采用这种格式2019-02-01T17:20:00

foreach($xml->Times->EventTime as $Times) {  
$filmdate =$Times->Time;
$filmdatenew = date("D d M Y",strtotime(date($filmdate)));
$datearray[] = $filmdatenew;

}

3 个答案:

答案 0 :(得分:1)

不。 date()返回docs中所述的日期字符串。我的猜测是日期生成的字符串与您认为的不同。

答案 1 :(得分:0)

我正在运行并获得“成功”

<?php

$datearray = array();
$datearray[] = "Fri 08 Feb 2019";
$datearray[] = "Sat 09 Feb 2019";
$today = date("D d M Y");
if (in_array($today, $datearray)) {
echo "success";
} else{
echo 'Fail';
}

我认为也许您没有想到的那样。做echo json_encode($datearray)会得到什么?

随时将代码复制到文件中,然后执行php -f file.php

答案 2 :(得分:0)

你好吗?

因此,我尝试了您在PHP 7中所做的工作,这就是发生的情况。

我这样创建数组:

$datearray = [date("D d M Y", strtotime("2019-02-02")), date("D d M Y", strtotime("2019-02-03"))];

因此,通过这种方式,我可以将桃子与桃子和苹果与苹果:)

然后我用你的逻辑看发生了什么

$today = date("D d M Y");  
if (in_array($today, $datearray)) {
echo "success";
} else{
echo 'Fail';
}

它有效!因此,也许您可​​以向我们展示如何生成日期数组。

希望它能起作用!