为什么这样计算不了,结果总是返回0

                    <?php
                    $a = $this->item_info['jhl'];
                    $c = intval($a);
                    $b = $this->item_info['price'];
                    $d = intval($b);

                    echo intval((500 / $c) * $d)
                    ; ?>
$this->item_info['jhl']跟$this->item_info['price'];在数据库里面都是数字,如123,456,789这样的数字

为什么计算结果都是0呢

数据库字段为varchar

阅读 2.3k
2 个回答

intval(500/intval("789")) = 0
intval(500/intval("345")) = 1,
如上

遇到这种问题把每个变量打印出来,用var_dump(),我猜测是因为$c比500大,然后intval()对于浮点数只会取整,比如intval(0.5)的结果就是0

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题