PHP除法为零警告并带有一个复选框
我有一个脚本,可以做一些数学运算并制作excel表格,但我随机得到一个PHP除法为零警告并带有一个复选框,php,excel,zero,Php,Excel,Zero,我有一个脚本,可以做一些数学运算并制作excel表格,但我随机得到一个 Warning: Division by zero in myfile.php on line 170 这会使我的页眉()发生变化。。我说它是随机的,因为它只工作一次,但如果我刷新页面,它就会中断,最令人困惑的是,我还检查了它的零是否是代码 167 if($cartonCount > 0){ 168 echo "-----" . $cartonCount . "-----";
Warning: Division by zero in myfile.php on line 170
这会使我的页眉()发生变化。。我说它是随机的,因为它只工作一次,但如果我刷新页面,它就会中断,最令人困惑的是,我还检查了它的零是否是代码
167 if($cartonCount > 0){
168 echo "-----" . $cartonCount . "-----";
169 $mellow = $qty/$cartonCount;
170 $leftovers = $qty % $cartonCount;
171 for($x = 1 ; $x <= $mellow ; $x++){
我注意到,当$cartonCount为“0.06”时,它会断裂。我怀疑$cartonCount被存储为字符串,可能使用欧洲风格的0,06十进制表示法。当PHP试图将其转换为数字时,它会将其视为零。我不知道为什么它对模运算符和除法或相等检查的作用不同,但在第167行之前放置
$cartonCount=intval($cartonCount)
应该使事情一致(尽管它可能最终将0.06解释为零).我注意到当$cartonCount为“0.06”时,它会断裂。我怀疑$cartonCount被存储为字符串,可能使用欧洲风格的0,06十进制表示法。当PHP试图将其转换为数字时,它会将其视为零。我不知道为什么它对模运算符的作用不同,而不是除法或相等检查,但在第167行之前加上$cartonCount=intval($cartonCount)
应该会使事情始终如一地进行(尽管它可能最终会将0.06解释为零)。然后,我将此作为答案:
这可能是因为该值为NULL,而实际上该值不大于0。但它仍然会给你这个错误,那么,我把这个作为答案:
这可能是因为该值为NULL,而实际上该值不大于0。但是它仍然会给你这个错误模运算符将第二个数转换(或舍入)为整数。0.06将导致0,从而产生警告 可能的选项包括:在检查>0之前强制转换为整数或舍入(),使用ceil()或检查>1进行舍入
基于上下文,ceil()似乎是最佳选择。模运算符将第二个数字转换(或舍入)为整数。0.06将导致0,从而产生警告 可能的选项包括:在检查>0之前强制转换为整数或舍入(),使用ceil()或检查>1进行舍入
基于上下文,ceil()似乎是最好的选择。这可能是因为该值为NULL,而事实上,该值不是>0。但是它仍然会给你这个错误。它看起来好像是在处理if($cartonCount>0&&$cartonCount!=null),这可能是因为该值为null,而事实上,它不是>0。但是它仍然会给你这个错误。它看起来好像是在处理if($cartonCount>0&&$cartonCount!=null)我的第一个想法也是一个null值,但是null>0总是返回false。我的第一个想法也是一个null值,但是null>0总是返回false。
-2.38----------7.63----------12----------10----------7.5---------
7.5----------4.5----------4.5----------4.5----------4.5----------7.5-
---------1----------9.5----------7.5----------2.38----------0.06-----
Warning: Division by zero in /nfs/c08/h02/mnt/122022/domains/superstructs.com/html/catalog/test/samples/upsExport.php on line 170
-----2.38----------7.63----------7.5----------7.5----------2.38------
----0.06-----