今天开始学PHP-常用系统函数

有关数学的函数

max():指定参数中最大的值
min():比较两个数中较小的值
rand():得到一个随机数,指定区间的随机整数
mt_rand():与rand一样,只是底层结构不一样,效率比rand高(建议使用)
round():四舍五入
ceil():向上取整
floor():向下取整
pow():求指定数字的指定指数次结果:pow(2,8) == 2^8 == 256
abs():绝对值
sqrt():求平方根

有关函数的函数

function_exists():判断指定的函数名字是否在内存中存在(帮助用户不去使用一个不存在的函数,让代码安全性更高)
func_get_arg():在自定义函数中去获取指定数值对应的参数
func_get_args():在自定义函数中获取所有的参数(数组)
func_num_args():获取当前自定义函数的参数数量
在这里插入图片描述
错误处理
错误处理:指的是系统(或者用户)在对某些代码进行执行的时候,发现有错误,就会通过错误处理的形式告知程序员。
错误分类
1)语法错误:用户书写的代码不符合PHP的语法规范,语法错误会导致代码在编译过程中不通过,所以代码不会执行(Parse error)
2)运行时错误:代码编译通过,但是代码在执行的过程中会出现一些条件不满足导致的错误(runtime error)
3)逻辑错误:程序员在写代码的时候不够规范,出现了一些逻辑性的错误,导致代码正常执行,但是得不到想要的结果

$a = 10;
If($a = 1){		//最常见把比较符号写成赋值符号
	//执行代码	
}

错误代号
所有看到的错误代号在PHP中都被定义成了系统常量(可以直接使用)
1)系统错误:
E_PARSE:编译错误,代码不会执行
E_ERROR:fatal error,致命错误,会导致代码不能正确继续执行(出错的位置断掉)
E_WARNING:warning,警告错误,不会影响代码执行,但是可能得到意想不到的结果
E_NOTICE:notice,通知错误,不会影响代码执行
2)用户错误:E_USER_ERROR, E_USER_WARNING, E_USER_NOTICE
用户在使用自定义错误触发的时候,会使用到的错误代号(系统不会用到)
3)其他:E_ALL,代表着所有从错误(通常在进行错误控制的时候使用比较多),建议在开发过程中(开发环境)使用

所有以E开头的错误常量(代号)其实都是由一个字节存储,然后每一种错误占据一个对应的位,如果想进行一些错误的控制,可以使用位运算进行操作
排除通知级别notice:E_ALL & ~E_NOTICE
只要警告和通知:E_WARNING | E_NOTICE

错误触发
程序运行时触发:系统自动根据错误发生后,对比对应的错误信息,输出给用户:主要针对代码的语法错误和运行时错误。
在这里插入图片描述
人为触发:知道某些逻辑可能会出错,从而使用对应的判断代码来触发响应的错误提示
Trigger_error(错误提示):
在这里插入图片描述
可以通过第二个参数进行严格性控制
在这里插入图片描述
错误显示设置
错误显示设置:哪些错误该显示,以及该如何显示

在PHP中,其实有两种方式来设置当前脚本的错误处理

1、 PHP的配置文件:全局配置:php.ini文件
Display_errors:是否显示错误
Error_reporting:显示什么级别的错误
在这里插入图片描述
2、 可以在运行的PHP脚本中去设置:在脚本中定义的配置项级别比配置文件高(通常在开发当中都会在代码中去进行控制和配置)
Error_reporting():设置对应的错误显示级别
Ini_set(‘配置文件中的配置项’,配置值)
Ini_set(‘error_reporting’,E_ALL);
Ini_set(‘display_errors’,1);

错误日志设置

在实际生产环境中,不会直接让错误赤裸裸的展示给用户:
1、 不友好
2、 不安全:错误会暴露网站很多信息(路径、文件名)

所以在生产环境中,一般不显示错误(错误也比较少),但是不可能避免会出现错误(测试的时候不会发现所有的问题),这个时候不希望看到,但是又希望捕捉到可以让后台程序员去修改:需要保存到日志文件中,需要在PHP配置文件中或者代码中(ini_set)设置对应error_log配置项

1、 开启日志功能
在这里插入图片描述
2、指定路径
在这里插入图片描述
自定义错误处理
最简单的错误处理:trigger_errors()函数,但是该函数不会阻止系统报错

PHP系统提供了一种用户处理错误的机制:用户自定义错误处理函数,然后将该函数增加操系统错误处理的句柄中,然后系统会在碰到错误之后,使用用户定义的错误函数。

1、 如何将用户自定义的函数放到系统中?set_error_handler()
在这里插入图片描述
2、 自定义错误处理函数,系统有要求
在这里插入图片描述
代码实现:
1、 自定义错误处理函数:注意参数
在这里插入图片描述
在这里插入图片描述
2、 注册自定义函数:修改错误处理机制
在这里插入图片描述
当前属于简单自定义模式,如果要复杂,可以在某些影响代码功能的错误发生后,让用户跳转到某个指定界面。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值