PHP易混淆函式的區分方法及意義

2021-08-25 18:04:07 字數 1928 閱讀 5709

1.echo和print的區別

php中echo和print的功能基本相同(輸出),但是兩者之間還是有細微差別的。echo輸出後沒有返回值,但print有返回值,當其執行失敗時返回flase。因此可以作為乙個普通函式來使用,例如執行下面的**後變數$r的值將為1。

複製php內容到剪貼簿

php**:

$r = print 「hello world」;

這意味著print可用在一些複雜的表示式中,而echo則不行。但是,因為echo語句不要求返回任何數值,所已在**中echo語句的執行效率要略微快於print語句。

2.include與require的區別

include()與require()的功能也基本相同(包含),但在用法上也有一些不同,include()是有條件包含函式,而require()則是無條件包含函式。例如在下面**中,如果變數$a為真,則將包含檔案a.php:

複製php內容到剪貼簿

php**:

if($a){

include(「a.php」);

而require()則和include()不同,不管$a取何值,下面的**將把檔案a.php包含進檔案裡:

複製php內容到剪貼簿

php**:

if($a){

require(「a.php」);

在錯誤處理方面,使用include語句,如果發生包含錯誤,程式將跳過include語句,雖然會顯示錯誤資訊但是程式還是會繼續執行!但requre卻會給你來個致命錯誤。

當然,從字面意思上我們也可以理解七分:requre是很強硬的請求、要求的意思。

3.require_once()和include_once()語句

題外話了,因為長的像,簡單require_once()和include_once()語句分別對應於require()和include()語句。 require_once() 和include_once()語句主要用於需要包含多個檔案時,可以有效地避免把同一段**包含進去而出現函式或變數重複定義的錯誤。

4.空字串(」)和null的區別

php中空字串和null都是以值為0儲存的,但是他們的型別並不一樣,你可以試一下echo gettype(」);和echo gettype(null);你會發現他們列印出來的分別是string和null,當然還有0也容易混淆,你可以試試echo gettype(0);列印一下型別,會發現0的型別是integer(整型),可見字串(」)、null和0是「等值」但不等型別。

5.!isset和empty的區別

從字面意思上我們就可以明白:empty是判斷乙個變數是否為「空」,而isset 則是判斷乙個變數是否已經設定。但是這裡有一點絕對要注意起來:當乙個變數值為0,empty 認為這個變數同等於空,即相當於沒有設定。比如當我們檢測$id 變數的時候,當$id=0 ,用empty和isset來檢測變數$id是否已經配置,兩都將返回不同的值:empty 認為沒有配置,isset 則能夠取得 $id 的值,看下邊例子:

複製php內容到剪貼簿

php**:

$id=0;

empty($id)?print 「我是空的」:print 「我是$id .」; //結果:我是空的

!isset($id)?print 「我是空的」:print 「我是$id .」;//結果:我是0

6.==(等)和===(恒等)的區別

回顧上面第四條空字串(「」)和null的區別,再來看乙個例子:

複製php內容到剪貼簿

php**:

」 == null;

」 === null;

執行之後你會發現第乙個為true,而第二個則為false!可見==只是比較值是否相等,而===則不但比較值,還會比較型別,更為嚴格。

PHP易混淆函式的區分方法及意義

1.echo和print的區別 php中echo和print的功能基本相同 輸出 但是兩者之間還是有細微差別的。echo輸出後沒有返回值,但print有返回值,當其執行失敗時返回flase。因此可以作為乙個普通函式來使用,例如執行下面的 後變數 r的值將為1。複製php內容到剪貼簿 php r pr...

基礎補習 PHP易混淆函式的區分

今天看到毛毛蟲給大家做了個空字串和null的區分 感覺對基礎知識不紮實的小鳥 比如我 很有幫助,夜深了,一時來興致,查了很多 權威資料 寫一篇文章貼到這裡和大家一起補習一下基礎知識,當然,我的標題寫的並不嚴謹,內容也只是個人的總結,不足之處請高手多補充,話不多說,正文如下 1.echo和print的...

基礎補習 PHP易混淆函式的區分

今天看到毛毛蟲給大家做了個空字串和null的區分 感覺對基礎知識不紮實的小鳥 比如我 很有幫助,夜深了,一時來興致,查了很多 權威資料 寫一篇文章貼到這裡和大家一起補習一下基礎知識,當然,我的標題寫的並不嚴謹,內容也只是個人的總結,不足之處請高手多補充,話不多說,正文如下 1.echo和print的...