Php in_数组函数失败
我在用这句话:Php in_数组函数失败,php,arrays,warnings,Php,Arrays,Warnings,我在用这句话: '.((isset($imgRight) && in_array(1, $imgRight)) ? 'checked="checked"' : '').' 而且,在某些情况下,$imgRight可以是false。这就是为什么有isset(),但它仍然失败 我需要做些什么来避免此警告?仅仅因为某个内容是false并不意味着它没有设置: $foo = false; isset($foo); //true 您只需使用: ($imgRight && i
'.((isset($imgRight) && in_array(1, $imgRight)) ? 'checked="checked"' : '').'
而且,在某些情况下,$imgRight
可以是false。这就是为什么有isset()
,但它仍然失败
我需要做些什么来避免此警告?仅仅因为某个内容是
false
并不意味着它没有设置:
$foo = false;
isset($foo); //true
您只需使用:
($imgRight && in_array(1, $imgRight)) ? 'checked="checked"' : '')
或者为了非常安全(如果imgRgiht可能为null,或者某个非数组的非假值):
仅因为某个内容为
false
并不意味着它未设置:
$foo = false;
isset($foo); //true
您只需使用:
($imgRight && in_array(1, $imgRight)) ? 'checked="checked"' : '')
或者为了非常安全(如果imgRgiht可能为null,或者某个非数组的非假值):
$imgRight
如果为false,将通过isset()
$imgRight
如果为false,将通过isset()
将isset($imgRight)
更改为is\u数组($imgRight)
。我假设复选框的值使用数组表示法作为其值。将isset($imgRight)
更改为is\u array($imgRight)
。我假设复选框的值使用数组表示法作为其值。首先,不要使用短标记,它很快就会被弃用!
但对于您的问题:您需要检查$imgRight的状态,而不是它的存在(isset)!您也可以在此处设置一些代码的快捷方式…在使用它之前,您还应该检查它是否存在:
if (isset($imgRight)) {
if ($imgRight != false && in_array(1, $imgRight)) {
$chk = 'checked="checked"' }
else { $chk = '';}
}
在复选框元素中,只需执行以下操作
echo $chk;
首先,不要使用短标记,它很快就会被弃用! 但对于您的问题:您需要检查$imgRight的状态,而不是它的存在(isset)!您也可以在此处设置一些代码的快捷方式…在使用它之前,您还应该检查它是否存在:
if (isset($imgRight)) {
if ($imgRight != false && in_array(1, $imgRight)) {
$chk = 'checked="checked"' }
else { $chk = '';}
}
在复选框元素中,只需执行以下操作
echo $chk;
尝试搜索短标记(不是短代码,很抱歉)和不推荐的,您将看到。我知道这并不是百分之百的真实,因为这只是开发团队的一个想法,他们决定暂时不这么做!但有一天可能会发生……如果你做进一步的研究,你还会发现没有其他理由不使用它们——例如,啊,是的,有人谈论过这一点。我以为你指的是三元运算符,因为OP的问题中没有短标记。尝试搜索短标记(不是短代码,很抱歉)并弃用,你会看到。我知道这并不是百分之百的真实,因为这只是开发团队的一个想法,他们决定暂时不这么做!但有一天可能会发生……如果你做进一步的研究,你还会发现没有其他理由不使用它们——例如,啊,是的,有人谈论过这一点。我以为你指的是三元运算符,因为OP的问题中没有短标记。