isset 和 empty 可以传入 undefined 参数返回bool而不报错
例如 isset($a['a'])
如何自定义一个这样的方法
/**
* 依次从参数中获取默认值
*/
public static function df(){
foreach(func_get_args() as $v){
if( $v===0 || $v===false || !empty($v))return $v;
}
return '';
}
之前思考默认值试过以下写法,结果某些版本php不支持,便放弃了,一度怀疑php是最好的语言
$b=($a+['a'=>1])['a']
上面是变量,下面是数组用法
上面所有的默认是都是 null,当然,你可以选择其他值。
重点来了:
这是补充答案,看了好几遍才看懂题主的意图,不用怀疑,php 就是世界上最好的语言,不报错的方法很简单。
比如,我们有一个数组,$arr, 我们要在 if 里面判断 $arr->a->b 如果存在执行进入if,如下: