php程序中的错误输出
下面是我的代码,实际上o/p应该是hi,但它没有给出php程序中的错误输出,php,Php,下面是我的代码,实际上o/p应该是hi,但它没有给出 <?php $arr=array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday'); $c='xyz,ccc'; if(in_array(isset($c) && $c,$arr)) { echo 'hi'; } else { echo
<?php
$arr=array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
$c='xyz,ccc';
if(in_array(isset($c) && $c,$arr))
{
echo 'hi';
}
else
{
echo 'no';
}
?>
输出:hi
实际结果应为“否”。将代码更改为:
<?php
$arr=array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
$c='Sunday,Monday';
if(in_array(isset($c) && $c,$arr))
{
echo 'hi';
}
else
{
echo 'no';
}
或者,如果您想测试不同的日期,请选择第二个选项
<?php
$listDays=array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
$dayToTest='Sunday, Monday'; //Here we have multiple days
$tabTest = preg_split(',', $day); //split into an array
//Then test for each string in tabTest
foreach($tabTest as $string)
{
if(true === in_array($string, $listDays))
{
echo $string.' is OK';
}
else
{
echo 'no';
}
}
?>
旁注,这是错误的代码:
in_array(isset($weekendArr) && $weekendArr,$arr)
喜欢吗
isset($weekendArr) && in_array($weekendArr,$arr)
而in_数组并不严格,所以
in_array(true,array('w','s'))
永远都是真的
使用以下工具进行操作:
in_array(true,array('w','s'),true)
你看
你不能用数组检查数组,这里的$pinder是一个字符串。
唯一的解决方案是将字符串拆分为两个值,然后检查两次是否为TRUE
$c='Sunday,Monday';
foreach(explode(',',$c) as $check){
if(in_array($c,$arr,true))
{
echo $check.' is in array';
}
else
{
echo $check.' is NOT in array';
}
}
希望这有点帮助。但是。。。。您没有在任何地方设置/定义$weekendArr
,通常您的代码在语法和意义上都很混乱,为什么要在数组()中使用&&in?我强烈建议您回到教程。您的$weekendArr和$arr在哪里?粘贴完整的代码。它应该是$c,而不是$weekendArri想要高结果。。如果所有元素都在定义的数组中,请立即运行编辑的代码。如果我想选择我添加的多个选项并举例多天,则不确定它是您想要的。(在数组中(isset($c)&$c,$arr))
这没有任何意义!in_数组的第一个参数将是布尔值,这不是预期的。
$c='Sunday,Monday';
foreach(explode(',',$c) as $check){
if(in_array($c,$arr,true))
{
echo $check.' is in array';
}
else
{
echo $check.' is NOT in array';
}
}