首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >警告: implode() [<a href='function.implode'>function.implode</a>]:传递的参数无效

警告: implode() [<a href='function.implode'>function.implode</a>]:传递的参数无效
EN

Stack Overflow用户
提问于 2014-05-11 22:33:43
回答 3查看 167关注 0票数 0
代码语言:javascript
复制
if(isset($_POST['price']))
            {
               $ret = array();
               $price=  $_POST['price'];
               array_push($ret,$price);
               $pr=count($ret);
                for($i=0; $i>$pr;$i++)
                {
                    $pri[]=$pr[$i]*$disount/100;
                    echo "<script>alert('$i'); </script>";

                }
                $nprice = implode("," , $pri);

            }
            else $nprice = '0';

当数据提交时,它将得到$_POST‘’price‘。在我的代码中,我尝试对$price.As应用折扣,我知道折扣已经设置好了。但它给了我错误!)SCREAM:忽略错误抑制以显示警告: implode() function.implode:传递的参数无效

EN

回答 3

Stack Overflow用户

发布于 2014-05-11 22:36:46

在if条件之前初始化$pri数组

代码语言:javascript
复制
$pri = array();

另外,对于for循环,如果$pr是一个数组,则条件应该类似于:

代码语言:javascript
复制
for($i=0; $i<count($pr);$i++)
票数 1
EN

Stack Overflow用户

发布于 2014-05-11 22:36:54

您的for循环实际上是错误的..将其更改为

代码语言:javascript
复制
for($i=0; $i<$pr;$i++)
          //^^ <--- Do this change..

实际上它应该小于运算符..

您有大于运算符,因此条件失败,因此控制流不会进入for循环内部,因此$pri数组显然不会被填充,从而导致此错误。

票数 1
EN

Stack Overflow用户

发布于 2014-05-11 22:37:13

$pri在这里没有定义,所以是NULLNULL对于内爆来说是一个无效的参数。

代码语言:javascript
复制
for($i=0; $i>$pr;$i++)

您似乎使用了错误的比较符号(<>),因此不会进入循环,也不会将$pri设置为数组。

解决这个问题,为了安全起见,在循环之前写入$pri = array();来初始化它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23593870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档