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

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


相关文章
|
3月前
|
程序员 PHP UED
PHP中的错误处理和异常管理
【9月更文挑战第14天】在编程的世界里,错误和异常就像是路上的坑洞和绊脚石。它们总是不期而遇,但如何优雅地绕过或修复它们,是每个程序员的必修课。本文将深入探讨PHP中的错误处理和异常管理机制,带你了解如何捕获、处理这些“不速之客”,并确保你的应用程序能够稳健运行。准备好,让我们一起走进PHP的错误处理世界,学习如何让代码更健壮。
|
3月前
|
PHP
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
本文介绍了解决PHP常见问题的步骤,包括定位和创建`php.ini`文件,以及解决`mb_strlen()`函数未定义和DLL模块加载错误的具体方法。
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
|
2月前
|
安全 IDE 测试技术
PHP编程中的错误处理与调试技巧
【9月更文挑战第33天】在代码的世界里,错误是不可避免的。它们像是旅途中的绊脚石,挑战着开发者的耐心和智慧。本文将带你走进PHP的错误处理机制,教你如何优雅地面对和解决这些“意外的小惊喜”。从基本的语法错误到逻辑上的漏洞,我们将一起探索如何通过错误报告、自定义错误处理和调试技巧来提升代码质量。准备好,让我们开始这段寻找并消灭错误的旅程吧!
|
1月前
|
关系型数据库 MySQL 数据库连接
PHP内置函数
PHP内置函数
28 5
|
6月前
|
PHP
PHP错误处理技术文档
**PHP错误处理技术文档概要:** 本文档详述了PHP中的错误处理机制,包括错误级别、处理函数、日志及自定义处理器。PHP错误分为E_ERROR、E_WARNING、E_PARSE等类别,每种级别对应不同严重程度的问题。常用错误处理函数有error_reporting()、ini_set()和trigger_error()。错误日志可通过php.ini配置记录,自定义错误处理器能通过set_error_handler()注册,以更灵活地管理错误。生产环境中应关闭错误显示,启用日志记录。注意避免自定义处理器导致的递归错误。【6月更文挑战第9天】
55 2
|
3月前
|
存储 API PHP
php学习笔记-php数组的创建和使用,数组常用函数-day03
关于PHP数组的创建、使用以及常用函数的详细学习笔记。
php学习笔记-php数组的创建和使用,数组常用函数-day03
|
2月前
|
Unix PHP 数据库
PHP日期和时间Date()函数获取当前时间
通过灵活运用 `date()`函数及其丰富的格式选项,PHP开发者可以轻松地在应用程序中处理和展示日期及时间信息。无论是需要精确到秒的完整时间戳,还是仅仅展示日期或时间的某一部分,`date()`函数都能胜任。理解并熟练应用这些格式化技巧,对于提升代码的可读性和维护性至关重要。
68 1
|
3月前
|
PHP 数据安全/隐私保护 UED
PHP中实现自定义错误处理与异常管理
【9月更文挑战第2天】在PHP开发过程中,错误处理和异常管理是保证应用健壮性的关键。本文将引导你了解如何在PHP中创建自定义错误处理器,并通过实际代码示例展示如何有效捕获和处理异常,确保你的应用程序能够优雅地处理运行时出现的问题。
|
3月前
|
XML SQL PHP
php学习笔记-php字符串及字符串常用函数总结-day04
本文总结了PHP中字符串的三种定义方式和常用字符串处理函数,包括字符串的修剪、转换、长度计算、子串操作、比较、连接、分割及替换等操作。
|
3月前
|
设计模式 存储 算法
PHP中的设计模式:策略模式的深入解析与应用在软件开发的浩瀚海洋中,PHP以其独特的魅力和强大的功能吸引了无数开发者。作为一门历史悠久且广泛应用的编程语言,PHP不仅拥有丰富的内置函数和扩展库,还支持面向对象编程(OOP),为开发者提供了灵活而强大的工具集。在PHP的众多特性中,设计模式的应用尤为引人注目,它们如同精雕细琢的宝石,镶嵌在代码的肌理之中,让程序更加优雅、高效且易于维护。今天,我们就来深入探讨PHP中使用频率颇高的一种设计模式——策略模式。
本文旨在深入探讨PHP中的策略模式,从定义到实现,再到应用场景,全面剖析其在PHP编程中的应用价值。策略模式作为一种行为型设计模式,允许在运行时根据不同情况选择不同的算法或行为,极大地提高了代码的灵活性和可维护性。通过实例分析,本文将展示如何在PHP项目中有效利用策略模式来解决实际问题,并提升代码质量。