PHP从零开始--错误处理&&函数

简介: PHP从零开始--错误处理&&函数

一、错误处理

1.1错误种类

1.1.1Notices

比如没有定义变量确使用了会报notice错误,只是提醒注意,不影响后续代码执行

1.1.2Warnings

这是警告错误,比如include引入一个并不存在的文件,不影响后续代码执行

1.1.3Fatal Error

这是致命错误,影响后续代码执行,比如require一个并不存在的文件,或者使用未定义的函数等等

1.2屏蔽错误

1.2.1修改php.ini文件

这种方式会对当前项目下的所有php文件都起作用

我们点击其他选项菜单,选择php.ini文件

然后我们按ctrl+f搜索display_errors

修改完以后要保存php.ini文件,注意一定要重启phpstudy

1.2.2设置当前php文件

如果需要对当前的php文件设置错误显示或者关闭,可以设置如下:

我们的php.ini是关闭所有的错误的,当前文件是打开错误提示的,所以对当前文件设置是否显示错误的优先级要高些。

1.3错误级别

E_NOTICE  这是通知错误级别
E_WARNING 这是警告错误级别
E_ERROR  这是致命错误级别
注意测试下面的时候把php.ini的display_error=’On’
1.3.1只显示通知错误

1.3.2只显示警告错误
1.3.3显示警告错误或者致命错误

1.3.4显示除了某错误以外的其他错误

显示除了通知以外的其他错误


二、函数

2.1概念

函数可以重复执行的代码块。函数的特点是不调用不执行。函数调用是用函数名()

语法:(声明函数)

function 函数名(形参1,形参2…){
  重复执行的代码块
}
函数名(实参1,实参2)  

还有下面的写法:(可变函数)

2.2return

return有两个作用:

1、 是把函数运算的结果返回出去,比如上面的函数内部是经过了一系列复杂的逻辑判断,最终我们想拿到图片地址,所以用return把地址返回出去,后面调用函数的时候可以拿到这个地址。

2、 我们上面函数内部写了return以后,后续的任何代码都不会执行,因为return还有终止代码运行的作用。

2.3默认值

备注:

函数参数可以设置默认值,但是必须大写(以常理的形式),如果设置了默认值,不传第二个参数就是以默认值计算,如果传递了就按传递的值计算。

2.4值传递
如果函数的参数是以变量的形式传递的  默认是值传递 内部变量$a
变化并不会影响外部变量$num.

2.4引用传递

下面的因为是引用传递 如果变量a 和 a和anum指向同一块数据2,如果其中一个变化了,另一个也会跟着变化

原理如下:

2.5作用域

js的作用域如下:

函数外部定义的变量叫全局变量,函数内部定义的变量叫局部变量,js函数内部能获取外部的全局变量,外部获取不到内部的局部变量。

php的作用域如下:

函数外部定义的变量叫全局变量,函数内部定义的变量叫局部变量,但是不同的是php函数内部获取不到外部的全局变量,函数外部也拿不到内部的局部变量。

2.6函数内部获取全局变量的方式
2.6.1global

这种方法相当于是在函数内部创建了一个和外部全局变量同名的一个局部变量,然后就可以正常获取了.这两个变量是引用关系,内部变化了,外部也会跟着变化

2.6.2$GLOBALS

如果用上面的方法,$GLOBAS是一个超全局数组,它的键名就是自己定义的变量的名字,值就是自己定义变量的值

2.7练习
2.7.1练习1

写函数创建长度为10(形参)的数组,数组中的元素为递增的奇数,首项为1

2.7.2练习2

定义一个函数输出a(形参)行b(形参)列的表格

2.7.3练习3

以封装格式,求出班级平均分。

假设传入的格式如下:

$arr=array(
    array('语文'=>80, '数学'=>70, '英语'=>90),
    array('语文'=>80, '数学'=>70, '英语'=>90),
    array('语文'=>80, '数学'=>70, '英语'=>90)
);

答案如下:

2.7.4练习4

以封装形式,用户可以在当前购物车中选购5件商品,商品数量,商品价位不确定,请返回应付出的总价是多少?

商品一:价格:N元,购买数量:N件,小计:N元
商品二:价格:N元,购买数量:N件,小计:N元
商品三:价格:N元,购买数量:N件,小计:N元
总计:N元

答案:

$arr1=array(
    array('num'=>2, 'price'=>70),
    array('num'=>2, 'price'=>60),
    array('num'=>1, 'price'=>80)
);

2.7.5练习5

以封装格式,从一个数组中查询其某个单元是否存在,之后对其加红颜色显示。


相关文章
|
2月前
|
程序员 测试技术 数据库连接
PHP编程中的错误处理技巧
在PHP编程中,处理错误是至关重要的一环。本文将介绍几种常见的PHP错误类型及其处理技巧,包括语法错误、运行时错误和逻辑错误。通过学习正确的错误处理方法,可以提高代码的可靠性和可维护性,从而更好地保障程序的稳定性和安全性。
23 2
|
2月前
|
算法 IDE PHP
PHP编程中的错误处理与调试技巧
在PHP编程过程中,错误处理和调试是至关重要的环节。本文将介绍一些常见的PHP错误类型、优秀的调试工具以及有效的调试技巧,帮助开发者更高效地定位和解决代码中的问题。
26 3
|
7月前
|
Shell PHP Windows
PHP代码审计(四)PHP文件操作函数(2)
改变文件所有者。如果成功则返回 TRUE,如果失败则返回 FALSE。 语法:chown(file,owner)
49 0
|
7月前
|
安全 Unix Shell
PHP代码审计(四)PHP文件操作函数(1)
改变文件所有者。如果成功则返回 TRUE,如果失败则返回 FALSE。 语法:chown(file,owner)
51 0
|
21天前
|
PHP
PHP错误处理技术文档
**PHP错误处理技术文档概要:** 本文档详述了PHP中的错误处理机制,包括错误级别、处理函数、日志及自定义处理器。PHP错误分为E_ERROR、E_WARNING、E_PARSE等类别,每种级别对应不同严重程度的问题。常用错误处理函数有error_reporting()、ini_set()和trigger_error()。错误日志可通过php.ini配置记录,自定义错误处理器能通过set_error_handler()注册,以更灵活地管理错误。生产环境中应关闭错误显示,启用日志记录。注意避免自定义处理器导致的递归错误。【6月更文挑战第9天】
24 2
|
2月前
|
数据库连接 PHP 数据库
【PHP开发专栏】PHP错误处理与异常捕获
【4月更文挑战第30天】PHP是流行的服务器端脚本语言,广泛用于动态网站和应用开发。本文深入探讨PHP的错误处理和异常捕获机制,分为三部分:首先介绍PHP错误处理,包括错误级别(如E_NOTICE、E_WARNING、E_ERROR)和错误处理函数;其次,讲解异常捕获,利用try-catch处理程序错误,自定义异常类;最后,讨论两者在数据库操作、文件操作和网络请求等场景的应用及最佳实践。示例代码展示了如何自定义错误处理器和异常处理。
|
5天前
|
PHP
原生php制作分页函数
原生php制作分页函数
5 0
|
2月前
|
PHP Perl
PHP-ereg()函数
但再次强调,不建议使用ereg()函数,而应该改用preg_match()函数来执行更灵活和强大的正则表达式匹配操作。
30 4
|
2月前
|
运维 JavaScript Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,Php环境,配置取消禁止函数exec如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
319 4
|
2月前
|
PHP
php事务删除加调用日志函数
php事务删除加调用日志函数
16 1