【问题标题】:Warning: foreach staement警告:foreach 语句
【发布时间】:2017-07-16 14:13:21
【问题描述】:
if(isset($_POST['submit'])){
        if(!empty($_SESSION['cart'])){
        foreach($_POST['quantity'] as $key => $val){
            if($val==0){
                unset($_SESSION['cart'][$key]);
            }else{
                $_SESSION['cart'][$key]['quantity']=$val;}
        }
        }
    }

错误:

警告:为 foreach() 提供的参数无效

【问题讨论】:

  • 好的,那你想从我们这里得到什么?
  • 我该如何解决这个警告
  • 确保 $_POST['quantity'] 实际发送到脚本并且它是一个数组。
  • 根据 Stack Overflow 的礼仪,如果您发布问题,则必须提出问题。 :) 无论如何,如果您在代码中遇到错误,您应该对变量进行一些 echo 或 print_r 语句。例如,尝试 print_r($_POST) 或 print_r($_POST['quantity'])。 foreach 循环需要一个值数组,而不仅仅是一个简单的值。

标签: php foreach


【解决方案1】:

您需要在$_POST['quantity'] 中有数组,但您还有其他内容,请执行var_dump($_POST['quantity']); 以查看$_POST['quantity'] 中的内容。 您也可以将if(!empty($_SESSION['cart'])) 更改为if(!empty($_SESSION['cart']) && is_array($_POST['quantity']))

【讨论】:

    【解决方案2】:

    我会检查并确保$_POST['quantity'] 绝对是一个数组。

    var_dump($_POST['quantity']); //This will make it pretty clear if it's an array or not.

    没有看到您提交的表单,我们无能为力。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多