php异常中undefined index和Undefined variable的区别和解决方法

php中有两个常见的异常, Undefined indexUndefined variable, 今天我们就来了解它们的区别和异常解决方案.

php函数中值传递的方式

在php中对于简单数据类型, 也就是number, boolean, string, 它们作为函数参数传值时, 默认是使用值传递

Undefined variable异常的原因

Undefined variable异常就是说变量未定义, 当我们引用一个未定义的变量时就会报该异常.

Undefined variable异常的解决方法

解决方法就是在引用该变量之前使用isset函数进行判断, 下面是该函数的封装

<?phpfunction getSafeValue(&$var,$default=null){ return isset($var) ? $var : $default;}

上面函数有一个点要注意, 就是必须使用引用传递, 也就是&$var, 因为通过值传递会复制一次变量, 假如该变量本身就不存在, 则又会报Undefined variable异常.

Undefined index异常的原因

Undefined index异常: 当我们使用了数组中不存在的key时, 就会报该异常.

Undefined index异常的解决方案

其实和Undefined variable解决方案差不多, 也是在引用前进行一次判断, 下面时该函数的封装.

<?phpfunction getSafeArrValue(&$arr,$key,$default=null){ return isset($arr[$key]) ? $arr[$key] : $default;}

引申阅读

php中函数参数的引用传递和值传递
php中isset, empty, is_null的区别

文章首发于: https://hedaoshe.com/311.html

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容