数组中的php变量

时间:2017-04-20 14:07:53

标签: php variables

 $q2=$_REQUEST['binge'];
'book2'=>array('callno'=>123006,'price'=>number_format(844,2),'desc'=>'Binge','auth'=>'Tyler Oakley','quant'=>$q2,'total'=>number_format(844,2)*$q2)

在这个特定的代码上,它一直显示如下错误

  

警告:第97行的C:\ xampp \ htdocs \ Webcard_3new \ Webcard \ wishlist.php中遇到非数字值

我在网上搜索找到了正确的答案,但是有些事情要理解得那么复杂......

它应该是$ q2是数组中的变量。然后将该变量乘以“TOTAL”。但错误仍在继续......请帮助!!

2 个答案:

答案 0 :(得分:4)

超级全局变量将永远是字符串。您需要使用intval()显式转换它们:

$q2 = intval($_REQUEST['binge']);

此外,这一行:

'book2'=>array...

应该是

$book2 = array...

答案 1 :(得分:0)

您可以使用

$q2 = filter_var($_REQUEST['binge'], FILTER_VALIDATE_INT);

在这里,您将获得验证的好处,当有人传递非整数值时返回false。如果是浮点数,则改为使用FILTER_VALIDATE_FLOAT

另外,请考虑直接使用$_GET$_POST来更好地控制数据通道。 $ _REQUEST将多个内容组合成一个,当多个通道具有相同的密钥时,有时可能会导致问题。