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 [&#39;价格&#39;]。在我的代码中,我尝试在$ price上应用折扣。我知道折扣已经设定。但它给了我错误! )SCREAM:忽略错误抑制 警告:implode()[function.implode]:传递的参数无效
答案 0 :(得分:1)
在if条件
之前初始化$ pri数组$pri = array();
对于for循环,如果$ pr是一个数组,条件应该是:
for($i=0; $i<count($pr);$i++)
答案 1 :(得分:1)
您的for
循环实际上是错误的..将其更改为
for($i=0; $i<$pr;$i++)
//^^ <--- Do this change..
实际上它应该小于运营商..
你有大于运算符,因此条件失败,所以控制流不会进入你的for
循环,因此$pri
数组显然不会被填充,从而导致这个错误。
答案 2 :(得分:0)
$pri
,因此NULL
。而NULL
是一个无效的论点。
for($i=0; $i>$pr;$i++)
您似乎使用了错误的比较符号(<
与>
),因此永远不会输入循环,$pri
永远不会设置为数组。
修复此问题,并在循环之前编写$pri = array();
以初始化它。