Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php I';我的代码中出现了这个异常错误,为foreach()提供的参数无效_Php - Fatal编程技术网

Php I';我的代码中出现了这个异常错误,为foreach()提供的参数无效

Php I';我的代码中出现了这个异常错误,为foreach()提供的参数无效,php,Php,我正在检查$errors变量是否为空,但是foreach()仍然抱怨参数无效: <?php if (empty($errors) === false) { ?> <ul> <?php foreach ($errors as $error) { echo "<li>{$error}</li>";

我正在检查
$errors
变量是否为空,但是
foreach()
仍然抱怨参数无效:

<?php       
    if (empty($errors) === false) {
?>
        <ul>
            <?php
                foreach ($errors as $error) {
                    echo "<li>{$error}</li>";
                }
            ?>
        </ul>
<?php
    }
?>

所以,如果$errors设置为整数值2,空的($errors)将返回true。但是,它不是数组,因此对于foreach循环无效

而是使用is_array()

也考虑,为了调试,使用VARYDUMP($Error)并查明该点是什么。

尝试一起使用,而不是像

一样使用。 is_array-查找变量是否为数组


$errors可能不是数组,因此必须检查其类型或将其转换为数组。一个简单的例子:

<?php       
    if (empty($errors) === false) {
?>
        <ul>
        <?php
        foreach((array) $errors as $error){
            echo "<li>{$error}</li>";
        }
        ?>
</ul>
<?php
    }

?>


尝试使用
is_数组
计数
而不是像
那样使用
如果(is_数组($errors)&&count($errors)>0){
@Uchiha回答这个问题,这是正确的solution@user,我删除了元评论(抱怨你的帖子被否决)从你的问题,因为它只会增加噪音。请不要在将来做这件事。它可能是,但看起来它可能不到它的时间。欢迎使用动态类型的无数乐趣。使用iSyRayay.()并证明它仍然是一个数组。也考虑,仅用于调试,使用VARYDUMP($错误)。在调用foreach之前,您是否直接在该行上运行var_dump($errors)?是(评论必须至少包含15个字符才能发布)好吧,那么要么你遗漏了什么,要么你发现了一个非常奇怪的错误。试着发布var_dump的输出以及错误的精确措辞。不客气。很高兴帮助@user3573987(仅供参考:如果这些答案真的对你有帮助,你可以接受或投票)这不会抛出错误,但它肯定会在
if
条件下运行
<?php       
    if (empty($errors) === false) {
?>
        <ul>
        <?php
        foreach((array) $errors as $error){
            echo "<li>{$error}</li>";
        }
        ?>
</ul>
<?php
    }

?>