Arrays PHP-测试数组值

Arrays PHP-测试数组值,arrays,wordpress,checkbox,conditional-statements,advanced-custom-fields,Arrays,Wordpress,Checkbox,Conditional Statements,Advanced Custom Fields,我在WordPress的高级自定义字段中使用复选框。我只为它设置了一个值,即“是” 因此,我设置了以下测试: <?php if (!in_array('Yes', get_field('banner'))) : ?> 但是,对于那些没有指定值的帖子,我得到以下错误: 警告:in_数组要求参数2为数组,布尔值在中给出 /var/sites/d/dev-chwng.co.uk/public_html/wp-content/themes/chwng/loop-slideshow.php

我在WordPress的高级自定义字段中使用复选框。我只为它设置了一个值,即“是”

因此,我设置了以下测试:

<?php if (!in_array('Yes', get_field('banner'))) : ?>
但是,对于那些没有指定值的帖子,我得到以下错误:

警告:in_数组要求参数2为数组,布尔值在中给出 /var/sites/d/dev-chwng.co.uk/public_html/wp-content/themes/chwng/loop-slideshow.php 第19行

我想是因为对于没有选择“是”的项目,这意味着没有设置名为“banner”的数组

我试着把整件事放在一个语句中,这样可以防止出现错误,但它阻止了脚本的工作,因为我很难解释它


有人知道我如何在不引发错误的情况下确定“是”的值吗?

您还可以首先使用以下方法验证它是否为数组:


如果get_字段没有返回数组,这将使脚本立即转到else语句。

由于WP插件的工作方式,这似乎是我能让它以我需要的方式工作的唯一方法


我的回答对你不起作用吗?@rnevius很抱歉,由于某种原因,我没有收到通知电子邮件,我将很快检查并回复你!谢谢,但不幸的是,这不起作用。它可以防止错误,但由于WP插件的工作方式,它会按照我需要的方式停止循环工作。。。不过还是要谢谢你!
<?php 
    $banner = get_field('banner');
    if ( is_array($banner) && !in_array('Yes', $banner) ) : ?>