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

本文详细讲解了PHP中的错误类型,包括Notice、Warning和FatalError的区别,提供错误屏蔽方法,以及函数的概念、return的用法、默认值和传递方式。通过实例演示如何创建数组、表格和计算平均分,以及购物车总价计算。
摘要由CSDN通过智能技术生成

一、错误处理

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

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

  • 19
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 41
    评论
评论 41
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

几何心凉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值