JAVA、PHP、前端、APP、网站开发 - 开发技术学习

开发技术学习 » 编程开发 » ThinkPHP项目中提示信息与解决方案

ThinkPHP项目中提示信息与解决方案

此文被围观3958 日期: 2012-08-24 分类 : 编程开发  标签:  ·····
上一个ThinkPHP项目做完了,就在查看一些提示信息,提高ThinkPHP运行速度! 问题一: Notice: A non well formed numeric value encountered in 。。。 解答: //$date查询出的时间 echo date('Y-m-d',strtotime($date)); 参考资料: 资料1. A non well formed numeric value encountered 原因 时间戳不是真正的int类型,这种经常出现在从数据库中提取出数据,但是数据不是int类型的,可能是varchar等等,这种问题常常出现在弱类型语言上!大家可以使用intval()函数将非格式良好的数据转换成良好的类型,这样就可以了! 问题二: 求百分比: function percent($p, $t){ if ($t != 0){ return round( $p/$t * 100 , 2) . "%"; } } Division by zero 如何解决 解决:判断一下 $total 是不是为0呗 问题三: in_array() expects parameter 2 to be array, string given 一般是in_array($str, $array)是$array没有值造成的,将 If( !isset($array)){ $array = array(); } 问题解决 问题四: Warning: Invalid argument supplied for foreach() 问题Warning: Invalid argument supplied for foreach() in 完善解决方案 将报错的语句做如下修改(例): 把 QUOTE: foreach($extcredits as $id => $credit) { if($credit['ratio']) { $exchcredits[$id] = $credit; } } 改为 QUOTE: if(is_array($extcredits)) //add { foreach($extcredits as $id => $credit) { if($credit['ratio']) { $exchcredits[$id] = $credit; } } } //add 或 QUOTE: foreach((array)$extcredits as $id => $credit) { if($credit['ratio']) { $exchcredits[$id] = $credit; } } 造成这个错误的原因多数是因为论坛升级、编码转换造成的! 如果对PHP熟悉的人,可以直接找到出错的地方,分析出错信息是对哪个数据库表操作时造成的(一般都是论坛的基本数据表),然后,找到相应表的原版数据导进去,问题可解决。 问题五: Declaration of CreditAction::index() should be compatible with that of BaseAction::index() CreditAction.class.php http://hi.baidu.com/wastorode/item/c31df4ebfb6be73186d9def9 http://www.cnblogs.com/firstdream/archive/2012/03/30/2424939.html 因为所带参数不一样引起的!

站点声明:部分内容源自互联网,为传播信息之用,如有侵权,请联系我们删除。

© Copyright 2011-2024 www.kfju.com. All Rights Reserved.
超级字帖 版权所有。 蜀ICP备12031064号      川公网安备51162302000234