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上应用折扣 . 我知道折扣已经设定 . 但它给了我错误! )SCREAM:警告忽略错误抑制:implode()[function.implode]:传递的参数无效
3 回答
您的
for
循环实际上是错误的..将其更改为实际上它应该少于操作员..
你有大于运算符,因此条件失败,所以控制流不会进入
for
循环,因此$pri
数组显然不会被填充,从而导致此错误 .在if条件之前初始化$ pri数组
同样对于for循环,如果$ pr是一个数组,条件应该类似于:
$pri
在这里未定义,所以NULL
. 并且NULL
是内爆的无效参数 .您似乎使用了错误的比较符号(
<
与>
),因此永远不会输入循环且$pri
永远不会设置为数组 .修复此问题并在安全性之前写入
$pri = array();
以进行初始化 .