今天在项目当遇到的问题.

function foo($a){

 var_dump($a);

 return true;
}

$res = foo();
echo '你妹!' . var_dump($res);;

上面的方法反回的结果:
NULL 你妹! bool(true)

首先,调用方法其实是成功了.只报了一个Warning,而没有终止本次调用.

var_dump($a) 是null,这样一来, 后var_dump($a) 后面的程序当中使用$a的时候,都会根据上下文件恩为相应类型.也许就会造成结果一混乱.所以应该在接下来的业务当中根据业务返回值,而不应该直接写 return true; 其实这种写法还很恐怖的.

var_dump($res); 这个结果就直接会造成接下来的业务全部出现混乱. 按理来说, 执行 $res = foo(); 不有传 $a 参数.最好的结果是不再继续往下执行.但php还是执行下去了. 坑啊.

如何避免这种情况呢? 目前没好办法.也许Exception能解决.有待继续探索.

评论

您还没有登陆,登陆后可以发表评论哦!点击登陆