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

以封裝格式,從一個數組中查詢其某個單元是否存在,之后對其加紅顏色顯示。
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248661.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248661.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248661.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

第四單元博客總結——暨OO課程總結

第四單元博客總結——暨OO課程總結 第四單元架構設計 第一次UML作業 簡單陳述 第一次作業較為簡單,只需要實現查詢功能,并在查詢的同時考慮到性能問題,即我簡單的將每一次查詢的結果以及遞歸的上層結果都存儲下來,使用一個Boolean…

兩列布局:6種方法

面試過程中總會文檔兩列布局&#xff0c;左邊等寬&#xff0c;右邊自適應幾種方法&#xff1f;以下提供6種為君解憂 <div id"wrap"><div id"left"></div><div id"right"></div> </div>需求就是左側定寬&…

PHP從零開始--數據庫

文章目錄一、 數據庫簡介1.1概念1.2命令行操作1.3連接數據庫1.4配置環境變量二、 數據庫的相關操作2.1顯示所有倉庫2.2創建倉庫2.3刪除倉庫2.4切換倉庫三、 數據表的相關操作3.1概念3.2顯示所有的數據表3.3創建數據表3.2修改字段名3.3查看表結構3.4添加字段3.5刪除字段3.6更改數…

常用SQL語句

將記錄的某一字段值設置為空&#xff08;null&#xff09;UPDATE 表名 SET 字段名NULL WHERE 條件字段名123; 更新整列為某個值UPDATE 表名 SET 字段名NULL 轉載于:https://www.cnblogs.com/zhcBlog/p/10254066.html

如何下載js類庫

https://bower.io/ 這個已經淘汰 https://learn.jquery.com/jquery-ui/environments/bower/ Web sites are made of lots of things — frameworks, libraries, assets, and utilities. Bower manages all these things for you. Keeping track of all these packages and mak…

Python 常用系統模塊整理

Python中的常用的系統模塊中部分函數等的整理 random: 隨機數sys: 系統相關os: 系統相關的subprocess: 執行新的進程multiprocessing: 進程相關threading: 線程相關pickle: 將對象轉換成二進制文件time: 時間datetime: 基本的日期和時間類型timeit: 準確測量小段代碼的執行時間…

PHP從零開始--字段修飾符數據操作SQL語言

文章目錄一、 字段修飾符1.1主鍵1.2自動增長1.3非空1.4默認值1.5外鍵二、 對數據的操作2.1增加數據2.2刪除數據2.3更新數據2.4查詢數據2.4.1查詢所有的數據2.4.2查詢指定字段2.4.3去除重復字段2.4.4where表達式詳解2.4.5分組查詢2.4.6排序三、 SQL語言3.1DML3.2DDL3.3DCL一、 字…

scrapy爬蟲框架windows下的安裝問題

windows操作系統python版本是3.6.0通過Anaconda命令conda install scrapy安裝scrapy,安裝過程中沒有問題。然后在命令行輸入命令準備新建項目時&#xff0c;輸入 scrapy startproject firstscrapy時出現了from cryptography.hazmat.bindings._openssl import ffi, libImportErr…

charles使用說明(基于mac)

1. Charles簡介 1.1 Charles 需要java的運行環境支持&#xff0c;支持Windows、Mac&#xff1b;Fiddler不支持Mac。故Charles是在Mac下常用的網絡封包截取工具。 1.2 Charles原理&#xff1a;通過將自己設置成系統的網絡訪問代理服務器&#xff0c;使得所有的網絡訪問請求都通過…

看完就懂的連表查詢

文章目錄一、表與表之間的關系1.1一對一1.2一對多1.3多對多二、 連表查詢2.1概念2.2笛卡爾積2.3內連接2.4外連接2.4.1左外連接2.4.2右外連接2.4.3全連接2.4.4navicat導入導成sql語句2.4.5練習三、 子查詢3.1概念3.2練習3.2.1查詢工資最高的員工所有信息3.2.2查詢工資比7654工資…

jpa

Transactionalpublic void testPerson() {try {Person person1 personDao.findById(1);person1.setAddress("天津");} catch (Exception e) {e.printStackTrace();}} service就這樣一個方法&#xff0c;數據庫中數據也會進行更新 將查詢出來的數據對象賦值,然后不執…

影視感悟專題---1、B站-魔獸世界代理及其它亂七八糟

影視感悟專題---1、B站-魔獸世界代理及其它亂七八糟 一、總結 一句話總結&#xff1a; 看過的東西都可以學下&#xff0c;這樣既可以學習那些東西&#xff0c;都是對自己生活學習有幫助的&#xff0c;還可以彌補自己每天學的東西的不夠 1、《美麗心靈》中的博弈論共贏理論指的啥…

三分鐘掌握PHP操作數據庫

這里寫自定義目錄標題一、 操作數據庫&#xff08;mysql&#xff09;的工具1.1命令行工具1.2navicat界面化工具1.3phpAdmin界面化工具二、 表單傳值2.1文本框和文本域傳值2.2單選框傳值2.4下拉菜單傳值三、 php連接數據庫3.1連接方式介紹3.2mysqli基礎步驟3.2.1創建連接3.2.2選…

go語言之進階篇主協程先退出導致子協程沒來得及調用

1、主協程先退出導致子協程沒來得及調用 示例&#xff1a; package mainimport ("fmt""time" )//主協程退出了&#xff0c;其它子協程也要跟著退出 func main() {go func() {i : 0for {ifmt.Println("子協程 i ", i)time.Sleep(time.Second)}}(…

Actor模型(分布式編程)

Actor的目的是為了解決分布式編程中的一系列問題。所有消息都是異步交付的&#xff0c;因此將消息發送方與接收方分開&#xff0c;正是由于這種分離&#xff0c;導致actor系統具有內在的并發性&#xff1a;可以不受限制地并行執行任何擁有輸入消息的 actor。用Actor寫的程序可以…

看完就會的文件編程

文章目錄文件編程1.1文件操作函數1.1.1file()函數1.1.2fopen fgets fclose1.2.1讀取模式1.2.2寫入內容&#xff08;開頭&#xff09;1.2.3寫入內容&#xff08;追加&#xff09;1.1.3file_get_contents1.1.4文件路徑相關函數1.1.5file_exists1.1.6feof1.1.7copy()1.1.8set_incl…

Redis主從同步

主從同步原理 1. 從服務器向主服務器發送 SYNC 命令。2. 接到 SYNC 命令的主服務器會調用BGSAVE 命令&#xff0c;創建一個 RDB 文件&#xff0c;并使用緩沖區記錄接下來執行的所有寫命令。3. 當主服務器執行完 BGSAVE 命令時&#xff0c;它會向從服務器發送 RDB 文件&#xff…

BigDecimal轉String,int,double及簡單操作運算、方法

---恢復內容開始---1.字符型數據&#xff1a;char\varchar\text這幾種數據類型都是用來裝字符串的char 固定長度存儲數據varcahr 按變長存儲數據text 當你需要存儲非常大量的字符串時使用nchar、nvarchar、ntext這幾個也是存儲字符串的&#xff0c;與上面的對應相同。唯一不同的…

一文吃透PHP和HTML的嵌套寫法

1.1全部php生成結構 1.2html中嵌套php 總結如下&#xff1a; html和php混寫規則&#xff1a; php代碼必須包在<?php ?>html中寫php也是同理&#xff0c;但是有值輸出必須加上echo 1.3博客項目 1.3.1前后臺 前臺主要是做數據展示的&#xff0c;所有的用戶通過訪問域…

hello.cpp 第一個C++程序(本博客沒有特指都是以QT測試)

操作步驟&#xff1a;1.文件->新建文件或項目(N)->New File or Project->Qt Console Application->Choose->“名稱”中輸入工程名稱->“創建路徑”中輸入保存位置->下一步->選擇“工具包”->下一步->完成。 1.新標準 1 #include <iostream>…