被empty()这么简单的函数给坑了俩个小时

在排查一个比较复杂的功能时,怎么查都结果不对,

后来发现是因为empty()函数用错了!!!

我理所当然的以为

$list=array();
if(empty(count($list))){ $course_rate = 0;}

这样写没什么问题。。。。

事实上这是错的。。。因为empty只能检查变量,不能检查函数执行的结果

empty — 检查一个变量是否为空

描述

bool empty ( mixed $var )

如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""0"0"NULLFALSEarray()var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE

被empty()这么简单的函数给坑了俩个小时

时间: 2024-10-07 00:15:32

被empty()这么简单的函数给坑了俩个小时的相关文章

写一个php memcache 简单的函数

在一个项目中添加了memcache层,但由于数据库本来压力就不大,数据量很小,所以性能改善不是特别明显,因此学习并应用下来记录一下方便以后自己使用.这里我只应用了直接调用对应api函数的方法,另外一种方法是创建对象来连接memcache,具体是$mem=new Memcache,然后再调用对象里的方法来操作要存储的item. 本次使用环境为php 5.4.17, yum安装的驱动: php-pecl-memcache-3.0.8-1.el5.remi 代码如下: $MEMCACHE["host&

【C++】编写一个简单的函数实现重载。

//编写一个简单的函数实现重载. #include <iostream> using namespace std; int max(int a,int b) { return a>b?a:b; } int max(int a,int b,int c) { int x=max(a,b); return max(x,c); } double max(double a,double b) { return a>b?a:b; } int main() { cout<<"

python之简单的函数介绍(http://docs.python.org/3/library)

Python不但能非常灵活地定义函数,而且本身内置了很多有用的函数,可以直接调用. 在上面的网站上我们可以进行查询,Python具体都有哪些函数. 我们也可以再交互命令行中来查找函数: >>> help (abs) Help on built-in function abs in module builtins: abs(x, /) Return the absolute value of the argument. help(函数名)是一个能够在交互命令行中查找函数功能的语句. 这个a

简单的函数介绍(http://docs.python.org/3/library)

Python不但能非常灵活地定义函数,而且本身内置了很多有用的函数,可以直接调用. 在上面的网站上我们可以进行查询,Python具体都有哪些函数. 我们也可以再交互命令行中来查找函数: >>> help (abs) Help on built-in function abs in module builtins: abs(x, /) Return the absolute value of the argument. help(函数名)是一个能够在交互命令行中查找函数功能的语句. 这个a

JSP简单练习-函数标签

<!-- userfn.jsp --> <%@ page contentType="text/html;charset=gb2312" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/j

开源纯C日志函数库iLOG3快速入门(八、如果你喜欢简单日志函数甚于日志函数库)

很多网友来信坚持表达了在项目中应使用简单日志函数,而不喜欢日志函数库,我与之反复争论无果,不过话说回来,我也喜欢短小轻快的日志函数库,而不是融入太多功能的臃肿库,比如日志转档我还是坚持用外部shell来实现会更好,这样的日志函数库既可以小很多,也可以更轻快稳定,我只是迫于另外一批功能控网友的"威胁"而加入了太多的功能,他们喜欢极端的一揽子解决方案,并且展示其它诸如log4c也实现了这些功能为由证明他们是正确的,如果我不实现就免谈. 最近在研发一个小型的应用服务器平台tcpdaemon,

获取样式的简单的函数封装

var CSS = { getStyle:function(elem,name){//获取样式 if(elem.style[name]){ return elem.style[name]; } else if(elem.currentStyle){ return elem.currentStyle[name]; } else if(document.defaultView && document.defaultView.getComputedStyle){ name = name.repl

IE678 使用命名函数 被坑

本人之前有个 习惯 喜欢给函数添加一些 静态属性 方法声明的 结果在IE678 使用命名函数 在函数内部引用函数名 居然不是同一个函数 导致 静态属性方法不能被正常访问 坑到没脾气 上测试代码 var o = {}; o.foo = function xxx(){ console.log( xxx === o.foo); // false true console.log( xxx === arguments.callee ); // false true console.log( xxx.pr

R简单算术操作符&lt;函数和+-*/&gt;,缺失值,正则向量,向量运算&lt;索引&gt;(二)

赋值操作 x <- c(1,2,3); x = c(1,2,3); c(1,2,3) -> x; assign("x", c(1,2,3)); 这四种形式在大部分时候都能达到一致的效果.推荐使用第一种 1:向量的定义 一串有序数值构成的数值向量(vector) ,创建一个向量我们使用c(num1,num2,num3); 在 R 环境里面,单个的数值也是被看作长度为1的向量. 1.1 向量的基本运算 在算术表达式中使用向量将会对该向量的每一个元素都进行同样算术运算.出现 在同