天天看點

PHP入門篇

一、PHP-什麼是變量

 變量是用于存儲值的,我們指令伺服器去幹活的時候,往往需要産生一些資料,需要臨時性存放起來,友善取用。我們也可以了解為,變量就像一個購物袋,我們可以用來裝蘋果、榴蓮(當然也可以用來裝玫瑰),需要注意的是,一般情況下一個變量隻能裝一個(不要太貪心)值,除非是複合變量(後面變量類型時會介紹),當我們放進去一個蘋果後,再放進榴蓮的時候,蘋果就被替換掉,再放入香蕉,那麼榴蓮就被替換了。

(下面是一個定義變量的例子,大家先照着做,目的是先對變量有一個大體印象,關于定義變量的文法,會在下一小節詳細介紹)

<?php
    $var = "大家來學PHP";
    echo $var;
   echo "<br />";
   $var = "學PHP上慕課網";
   echo $var;
?>
           

 二、PHP-如何定義變量

 定義變量就是向伺服器的記憶體(伺服器的記憶體,我們可以當做一個大倉庫)申請空間(我們可以了解為一個子倉庫),用來存儲資料。這時候我們就需要用到變量名(也就是子倉庫的名字)和變量值(需要存放的東西,蘋果、榴蓮、香蕉都可以)。紀曉岚就給自己的書房取了個名字“閱微草堂”,這個“閱微草堂”就是變量名,書房中放的東西就是變量值。文法如下:

<?php
$var_name = “蘋果”;
$n = 10;
?>
           

解釋一下,在“=”左邊是變量名,右邊是變量值,完成定義變量後,需要一個

告訴伺服器這行指令已經結束。其中變量名必須通過

$

符号辨別;“=”可不是我們平常所說的等号哦,在PHP中,

=

是指派運算符(後面部分的小節會介紹);在這裡,var_name是變量名,“蘋果”是變量值,它是一個字元串;n是變量名,10是變量值,它是一個整型(變量的資料類型的一種,後面部分的小節會介紹)。

<?php 
$var_name = "蘋果";
$n = 10;
var_dump($var_name);
var_dump($n);
?>
           

 講解:”var_dump”函數可以将我們的變量的資料類型(後面小節會做介紹)顯示出來。

注意:1.要把代碼寫在“<?php”和“?>”之間,用空格隔開;

   2.每行結束,不要漏了“;”哦。

 三、PHP-變量名的命名規則

 變量名除了需要“$”進行辨別外,還有一些規則需要遵守。就像拿到駕駛證以後,還得遵守交通規則。變量名的命名規則主要有三條:

1、變量名必須以字母或下劃線 “_”開頭,如”$_name”,”$name” ,”$name2”等,但是”$9name”是不對的。

2、變量名隻能由字母、數字、以及“_”組成,還能包含漢字。如”$_qq”,”$qq308” ,”$my_apple”,“比如"$name我等”,但是”$name*”是不對的。

3、變量名不允許包含空格。當變量名由多個單詞組成,建議使用“_”進行分隔(比如 $my_apple),俗稱下劃線法,或者以大寫字母開頭比如 $myApple,俗稱駱駝式命名法(也稱駝峰命名法)。

特别需要注意的是,在PHP中變量名是區分大小寫的,如“$my_book”與“$my_Book”代表兩個不同的變量。

 任務

變量名區分大小寫,不信?咱驗證一下!

在右邊編輯器中的第8行輸入

$my_book = "這次奇迹要發生啦";      

講解:我們發現,大寫的變量名“$my_BOOK”沒有把小寫的變量名“$my_book”的值覆寫,可見變量名可是對大小寫敏感的。

<?php
    $my_book = "這次奇迹要發生啦";
    $my_BOOK = "我的大寫的BOOK";
	echo $my_book;
	echo "<br />";
	echo $my_BOOK;
	echo "<br />";
	
	echo $my_book;
	echo "<br />";
?>
           

四、PHP-什麼是變量的資料類型

在變量中,由于變量占用的空間單元不一樣(占的地盤大小不一樣),也分成幾種資料類型,就像超市商品的包裝袋,有幾種不同類型,不同的商品使用不同的包裝袋。我們可以通過使用“memory_get_usage”擷取目前PHP消耗的記憶體。

任務

咱對比一下記憶體消耗吧!

在右邊的編輯器中,咱分别定義四種不同的資料類型,分别是字元串類型,整型,浮點型和數組(後續會詳細介紹這幾種類型)。

1、在第4行中定義字元串類型“$var_string = "123";”

2、第7行定義整型“$n=123;”

3、第10行定義浮點型“$f=123.00;”

4、第13行定義數組“$var_array = array("123");”

我們可以看到輸出結果:

PHP入門篇

初始化消耗了624056,字元串消耗328,整型和浮點型都是288,數組消耗632。

注意:根據作業系統、PHP版本以及PHP的運作方式可能輸出結果會不同。

<?php 
echo $m1 = memory_get_usage(); 
echo "<br />";
$var_string = "123";
echo $m2 = memory_get_usage()-$m1; 
echo "<br />";
$n=123;
echo $m3 = memory_get_usage()-$m1-$m2; 
echo "<br />";
$f=123.00;
echo $m4 = memory_get_usage()-$m1-$m2-$m3; 
echo "<br />";
$var_array = array("123");
echo $m5 = memory_get_usage()-$m1-$m2-$m3-$m4; 
?>
           

 五、PHP變量的資料類型

在PHP中,支援8種原始類型,其中包括四種标量類型、兩種複合類型和兩種特殊類型。PHP是一門松散類型的語言,不必向PHP聲明變量的資料類型,PHP會自動把變量轉換為自動的資料類型,一定程度降低了學習PHP的門檻。如果接觸過C語言或者JAVA語言,就會發現在聲明變量的時候需要聲明變量的資料類型。

任務

咱來變個魔術吧,字元串變數字!

在右邊編輯器中,

1、第2行定義一個字元串“就是就是”,代碼為“

$string = "就是就是";

”,

2、在第5行咱把它變成整型“9494”,代碼為“$string = 9494;”,然後通過“var_dump”函數,輸出資料類型。

從輸出結果:

PHP入門篇

我們可以發現, 這個變量自動就從原來的字元串轉換成了整型咯。

<?php 
 $string = "就是就是";
 var_dump($string);
 echo "<br />";
 $string = 9494;
 var_dump($string);
  echo "<br />";
?>
           

 六、PHP标量類型—布爾類型

布爾類型(boolean):隻有兩個值,一個是TRUE,另一個FALSE,可以了解為是或否。它不區分大小寫,也就是說”TRUE”和“true”效果是一樣的。主要用在條件結構(條件結構在後面部分會介紹)中,例如判斷是否滿足條件的時候,是用“true”表示滿足,用“false”表示不滿足。需要注意的是,當我們用”echo”指令輸出布爾類型時,如果是“true”則輸出的是“1”,“false”則什麼也不輸出。我們可以使用“var_dump”函數,擷取它真正的資料類型。

<?php
 $flag=TRUE;
?>      

任務

我們來試試布爾類型吧!

1、在第 2 行定義一個字元串,代碼為:

$man = "男";      

2、在第 3 行判斷該變量是否等于“男”,并将比較的結果指派給變量“$flag”,代碼為:

$flag = $man == "男";      

講解:

1、其中使用“==”等于比較運算符(後續運算符部分會詳細介紹)。

2、我們可以發現,雖然使用”echo”指令輸出結果為

1

,而“var_dump”給我們表明了“$flag”為

布爾類型

的身份。

<?php 
    $man = "男";
	$flag = $man == "男";
	echo $flag ;
	echo "<br />" ;
	var_dump($flag);
?>
           

 七、PHP标量類型—整型

整型(integer):類似于常見的整數。它可以用十進制、八進制、十六進制指定。十進制就是日常使用的數字;八進制,數字前必須加上“0”(這個0是阿拉伯數字0,可不是英文字母“歐”哦);十六進制,數字前必須加“0x” (這個0也是阿拉伯數字0,不是“歐”哦)。如:

<?php
$data_int = 1234;   // 十進制數 
$data_int = -567;    // 一個負數
$data_int = 0123;    // 八進制數(等于十進制的 83)
$data_int = 0x1a;    // 十六進制數(等于十進制的 26)
?>      

任務

我們來試一試,咱也來定義幾個整型!

在右邊的編輯器中輸入四條指令,如圖所示:

PHP入門篇

1、在第2行中輸入第一條指令“$data_int1 = 123;”

2、在第5行中輸入第二條指令“$data_int2 = -123;”

3、在第8行中輸入第三條指令“$data_int3 = 0123;”

4、第11行中輸入第四條指令“$data_int4 = 0x123;”

從結果顯示:

PHP入門篇

八進制的“0123;”等于10進制中的83,十六進制的“0x123;”等于10進制的291。

<?php
$data_int1 = 123;
echo $data_int1;
echo "<br />";
$data_int2 = -123;
echo $data_int2;
echo "<br />";
$data_int3 = 0123;
echo $data_int3;
echo "<br />";
$data_int4 = 0x123;
echo $data_int4;
echo "<br />";
?>
           

 八、PHP标量類型—浮點型

浮點型(浮點數、雙精度數或實數),也就是通常說的小數,可以用小數點或者科學計數法表示。科學計數法可以使用小寫的e,也可以使用大寫的E。例如:

<?php
$num_float = 1.234;    //小數點  
$num_float = 1.2e3;    //科學計數法,小寫e  
$num_float = 7.0E-10;     //科學計數法,大寫E  
?>      

任務

咱也來定義幾個浮點型!

在右邊編輯器中輸入三條指令,如圖:

PHP入門篇

1、第2行輸入第一條指令“$num_float1 = 1.234;”,

2、第5行輸入第二條指令“$num_float2 = 1.2e3;”,

3、第8行輸入第三條指令“$num_float3 = 7.0E-3;”。

從結果:

PHP入門篇

我們可以發現,可以根據需要使用小數點或科學計數法來定義浮點型變量。

<?php
$num_float1 = 1.234;
echo $num_float1;
echo "<br />";
$num_float2 = 1.2e3;
echo $num_float2;
echo "<br />";
$num_float3 = 7.0E-3;
echo $num_float3;
echo "<br />";
?>
           

 九、PHP标量類型—字元串(1)

字元串是由一系列字元組成,在PHP中,字元和位元組一樣,也就是說,一共有256種不同字元的可能性。

字元串型可以用三種方法定義:單引号形式、雙引号形式和Heredoc結構形式。

任務

我們先來試試單引号形式和雙引号形式!

在右邊編輯器中輸入兩條指令,如圖:

PHP入門篇

1、第2行輸入第一條指令“$str_string1 = '我是字元串';”,

2、第3行輸入第二條指令“$str_string2 = "我也是字元串哦";”

<?php 
$str_string1 = '我是字元串';//單引号
$str_string2 = "我也是字元串哦";//雙引号
echo $str_string1;
echo "<br />";
echo $str_string2;
?>
           

十、PHP标量類型—字元串(2)

當你的字元串中包含引号的時候,我們怎麼辦?不要慌哈,咱們想想辦法。如下圖(單擊可放大):

PHP入門篇

第一種方案:在單引号中嵌入雙引号,如上圖第2行所示;

第二種方案:在雙引号中嵌入單引号,如上圖第3行所示;

第三種方案:使用轉義符“\”(後面部分還有介紹),分别如上圖第4行和第5行所示;

任務

我們來試一試吧:

1、在第2行輸入:

$str_string1 = '甲問:"你在哪裡學的PHP?"';      

2、在第3行輸入:

$str_string2 = "乙毫不猶豫地回答:'當然是慕課網咯!'";      

3、在第4行輸入:

$str_string3 = '甲問:\'能告訴我網址嗎?\'';      

4、在第5行輸入:

$str_string4 = "乙答道:\"www.imooc.com\"";      

運作結果:

PHP入門篇
?php 
$str_string1 = '甲問:"你在哪裡學的PHP?"';
$str_string2 = "乙毫不猶豫地回答:'當然是慕課網咯!'";
$str_string3 = '甲問:\'能告訴我網址嗎?\'';
$str_string4 = "乙答道:\"www.imooc.com\"";
echo $str_string1;
echo "<br />";
echo $str_string2;
echo "<br />";
echo $str_string3;
echo "<br />";
echo $str_string4;
echo "<br />";
?>
           

 十一、PHP标量類型—字元串(3)

當引号遇到美元咋辦?這裡的美元可不是真正的美元,而是用美元符号辨別的變量。如圖:

PHP入門篇

當雙引号中包含變量時,變量會與雙引号中的内容連接配接在一起;

當單引号中包含變量時,變量會被當做字元串輸出。

任務

嘿嘿,咱們來動手看看結果吧:

1、在第3行輸入“$string1 = "慕課網,$love";”;

2、在第4行輸入“$string2 = '慕課網,$love';”;

運作結果如下:

PHP入門篇
<?php 
$love = "I love you!"; 
$string1 = "幕課網,$love";
$string2 = '幕課網,$love';
echo $string1;
echo "<br />";
echo $string2;
?>
           

 十二、PHP标量類型—字元串(4)

當我的字元串很長怎麼辦?

我們可以使用Heredoc結構形式的方法來解決該問題,首先使用定界符表示字元串(<<<),接着在“<<<“之後提供一個辨別符GOD,然後是字元串,最後以提供的這個辨別符結束字元串。如圖:

PHP入門篇

在指派符号後,輸入定界符“<<<”,接着是辨別符,你可以用你的女神作為辨別符“GOD”,如第2行,也可以使用你喜歡的狗狗,“DOG”作為辨別符,但是,結尾處的辨別符也必須是一樣的。此外,在結尾的一行,如第7行,一定要另起一行,并且此行除了“GOD”,并以“;”号結束之外,不能有任何其他字元,前後都不能有,包括空格,否則會出現錯誤的哦。切記切記哦。

任務

接下來,咱們一起來試試吧:

1、在第2行輸入“$string1 = <<<GOD”;

2、在第7行輸入“GOD;”;

運作結果:

PHP入門篇
<?php 
$string1 = <<<GOD
我有一隻小毛驢,我從來也不騎。
有一天我心血來潮,騎着去趕集。
我手裡拿着小皮鞭,我心裡正得意。
不知怎麼嘩啦啦啦啦,我摔了一身泥.
GOD;

echo $string1;
?>
           

運作結果如下:

我有一隻小毛驢,我從來也不騎。
有一天我心血來潮,騎着去趕集。
我手裡拿着小皮鞭,我心裡正得意。
不知怎麼嘩啦啦啦啦,我摔了一身泥.      

 十三、PHP第一種特殊類型—資源

資源(resource):資源是由專門的函數來建立和使用的,例如打開檔案、資料連接配接、圖形畫布。我們可以對資源進行操作(建立、使用和釋放)。任何資源,在不需要的時候應該被及時釋放。如果我們忘記了釋放資源,系統自動啟用垃圾回收機制,在頁面執行完畢後回收資源,以避免記憶體被消耗殆盡。

舉例如下:

<?php
$file=fopen("f.txt","r");   //打開檔案
$con=mysql_connect("localhost","root","root");  //連接配接資料庫
$img=imagecreate(100,100);//圖形畫布
?>      

任務

噓!咱偷窺一個小檔案!

假設在伺服器上,你發現了一個檔案,是不是很好奇,想看看裡面寫了啥。嘿嘿,PHP可以做到哦(但是千萬記住,如果是隐私檔案,可不能偷窺哦,就像偷窺陳冠*的照片一樣,要坐牢滴!)。假設伺服器上有個檔案為“f.txt”,這時候,我們就需要用到資源這種特殊的資料類型。

具體步驟:

在右邊編輯器第3行輸入下面語句:

$file_handle = fopen("/data/webroot/resource/php/f.txt","r");      

結果顯示:

PHP入門篇

注意:f.txt文本檔案儲存時一定要設定為UTF-8格式,避免出現亂碼。

<?php 
//首先采用“fopen”函數打開檔案,得到傳回值的就是資源類型。
$file_handle = fopen("/data/webroot/resource/php/f.txt","r");
if ($file_handle){
    //接着采用while循環(後面語言結構語句中的循環結構會詳細介紹)一行行地讀取檔案,然後輸出每行的文字
    while (!feof($file_handle)) { //判斷是否到最後一行
        $line = fgets($file_handle); //讀取一行文本
        echo $line; //輸出一行文本
        echo "<br />"; //換行
    }
}
fclose($file_handle);//關閉檔案
?>
           

十四、PHP第二種特殊類型—空類型

NULL(NULL):NULL是空類型,對大小寫不敏感,NULL類型隻有一個取值,表示一個變量沒有值,當被指派為NULL,或者尚未被指派,或者被unset(),這三種情況下變量被認為為NULL。

 任務

瞅瞅空值的情況!

在右邊編輯器中輸入四條指令,如圖:

PHP入門篇

1、第3行輸入第一條指令“$var;”,為變量未指派;

2、第5行輸入第二條指令“$var1 = null;”,将“null”指派給變量“$var1”;

3、第7行輸入第三條指令“$var2 = NULL;”,将“NULL”指派給變量“$var2”;

4、第10行輸入第四條指令“unset($var3);”,将變量“$var3”登出定義。

結果顯示:

PHP入門篇
<?php 
 error_reporting(0); //禁止顯示PHP警告提示
 $var;
 var_dump($var);
 $var1 = null;
 var_dump($var1);
 $var2 = NULL;
 var_dump( $var2);
 $var3 = "節日快樂!";
 unset($var3);
 var_dump($var3);
?>
           

十五、 PHP-什麼是常量

什麼是常量?常量可以了解為值不變的量(如圓周率);或者是常量值被定義後,在腳本的其他任何地方都不可以被改變。PHP中的常量分為自定義常量和系統常量(後續小節會詳細介紹)。

自定義常量是根據我們開發的需要,而定義的常量,它通過使用PHP中的函數define()定義。(注:函數,我們可以了解為一個混凝土攪拌機,亦或是一個篩子,通過入口提供原料,然後出口産出結果,在函數中也允許入口不提供任何資料,出口也允許不傳回任何值。)

define()函數的文法格式為:

bool define(string $constant_name, mixed $value[, $case_sensitive = true])      

它有3個參數(也就是原料):

第一個參數“constant_name”為必選參數,常量名稱,即标志符,常量的命名規則與變量的一緻,但是要注意哦,它可不帶美元符号哦。第二個參數“value”為必選參數,它是常量的值。第三個參數“case_sensitive”為可選參數,指定是否大小寫敏感,設定為true表示不敏感,一般不指定第三個參數的情況下,預設第三個參數的值為false。

(注: string表示參數類型為字元串類型,mixed表示參數類型可以接受為多種不同的類型,case_sensitive = true表示預設為布爾類型TRUE)

任務

咱也來定義一個常量玩玩!

當我們需要計算圓面積時,我們就需要使用圓周率,這時我們就可以将圓周率定義為常量“PI”(通常常量都全用大寫),取值為3.14。在右邊編輯器中輸入兩條指令,第3行輸入第一條指令“define("PI",3.14);”,第4行輸入第二條指令“define($p,3.14);”,如圖所示:

PHP入門篇

第一條指令,比較直覺;第二條指令,使用起來比較靈活。運作結果如下:

3.14
3.14      
<?php
$p = "PII";
define("PI",3.14);
define($p,3.14);
echo PI;
echo "<br />";
echo PII;
?>
           

 十六、PHP-常量的作用

常量有什麼用呢?

常量主要功效是可以避免重複定義,篡改變量值。在我們進行團隊開發時,或者代碼量很大的時候,對于一些第一次定義後不改變的量,如果我們使用變量,在不知情的情況下,使用同一變量名時,變量值就會被替換掉,進而會引發伺服器執行錯誤的任務。

此外,使用常量還能提高代碼的可維護性。如果由于某些原因,常量的值需要變更時候,我們隻需要修改一個地方。例如在做計算中,起初我們取圓周率為3.14,于是很多計算中我們都使用3.14進行計算,當要求計算精度提高,圓周率需要取3.142的時候,我們不得不修改所有使用3.14的代碼,倘若代碼量比較多時,不僅工作量大,還可能遺漏。

任務

感受一下常量的優勢!

在右邊編輯器中輸入一條指令,在第2行中輸入指令“define("PI",3.14);”,如圖所示:

PHP入門篇

結果為:

PHP入門篇
<?php
define("PI",3.14);
$r=3;
echo "面積為:".(PI*$r*$r)."<br />";
echo "周長為:".(2*PI*$r)."<br />";
?>
           

 十七、PHP-認識一下系統常量

系統常量是PHP已經定義好的常量,我們可以直接拿來使用,常見的系統常量有:

(1)__FILE__ :php程式檔案名。它可以幫助我們擷取目前檔案在伺服器的實體位置。

(2)__LINE__ :PHP程式檔案行數。它可以告訴我們,目前代碼在第幾行。

(3)PHP_VERSION:目前解析器的版本号。它可以告訴我們目前PHP解析器的版本号,我們可以提前知道我們的PHP代碼是否可被該PHP解析器解析。

(4)PHP_OS:執行目前PHP版本的作業系統名稱。它可以告訴我們伺服器所用的作業系統名稱,我們可以根據該作業系統優化我們的代碼。

任務

咱也玩玩系統常量呗!

在右邊編輯器中,輸入四條指令:

1、在第2行輸入第一條指令:

echo __FILE__;      

2、在第4行輸入第一條指令:

echo __LINE__;      

3、在第6行輸入第一條指令:

echo PHP_VERSION;      

4、在第8行輸入第一條指令:

echo PHP_OS;      

如圖所示:

PHP入門篇

我們可以看到類似如下的結果:

PHP入門篇
<?php
echo __FILE__;
echo "<br />";
echo __LINE__;
echo "<br />";
echo PHP_VERSION;
echo "<br />";
echo PHP_OS;
echo "<br />";
?>
           

 十八、PHP-常量如何取值

定義了常量,那麼就要使用常量,那麼如何擷取常量值呢?

擷取常量值的有兩種方法取值。第一種是使用常量名直接擷取值;例如計算圓周率的面積,如下(“*”是運算符,相當于乘号,後面部分的小節會介紹):

<?php
define("PI",3.14);
$r=1;
$area = PI*$r*$r; //計算圓的面積
?>      

第二種是使用constant()函數。它和直接使用常量名輸出的效果是一樣的,但函數可以動态的輸出不同的常量,在使用上要靈活、友善,其文法格式如下:

mixed constant(string constant_name)      

第一個參數constant_name為要擷取常量的名稱,也可為存儲常量名的變量。如果成功則傳回常量的值,失敗則提示錯誤資訊常量沒有被定義。(注:mixed表示函數傳回值類型為多種不同的類型,string表示參數類型為字元串類型)

例如:

PHP入門篇

任務

試試constant函數取值!

在右邊編輯器中輸入一條指令,在15行輸入指令“$area= constant($p)*$r*$r;”,如圖:

PHP入門篇
PHP入門篇

 十九、PHP-常量如何取值

定義了常量,那麼就要使用常量,那麼如何擷取常量值呢?

擷取常量值的有兩種方法取值。第一種是使用常量名直接擷取值;例如計算圓周率的面積,如下(“*”是運算符,相當于乘号,後面部分的小節會介紹):

<?php
define("PI",3.14);
$r=1;
$area = PI*$r*$r; //計算圓的面積
?>      

第二種是使用constant()函數。它和直接使用常量名輸出的效果是一樣的,但函數可以動态的輸出不同的常量,在使用上要靈活、友善,其文法格式如下:

mixed constant(string constant_name)      

第一個參數constant_name為要擷取常量的名稱,也可為存儲常量名的變量。如果成功則傳回常量的值,失敗則提示錯誤資訊常量沒有被定義。(注:mixed表示函數傳回值類型為多種不同的類型,string表示參數類型為字元串類型)

例如:

PHP入門篇

任務

試試constant函數取值!

在右邊編輯器中輸入一條指令,在15行輸入指令“$area= constant($p)*$r*$r;”,如圖:

PHP入門篇
PHP入門篇
<?php 
$p="";
//定義圓周率的兩種取值
define("PI1",3.14);
define("PI2",3.142);
//定義值的精度
$height = "中";
//根據精度傳回常量名,将常量變成了一個可變的常量
if($height == "中"){
    $p = "PI1";
}else if($height == "低"){
	$p = "PI2";
}
$r=1;
$area = constant($p)*$r*$r;//計算圓的面積
echo $area;
?>
           

 二十、PHP-如何判定常量是否被定義

如果常量被重複定義以後,PHP解析器會發出“Constant XXX already defined”的警告,提醒我們該常量已經被定義過。那麼,在團隊開發,或代碼量很大的情況下,我們如何去判定一個常量是否被定義呢?

defined()函數可以幫助我們判斷一個常量是否已經定義,其文法格式為:

bool defined(string constants_name)      

它隻有參數constant_name,指的是要擷取常量的名稱,若存在則傳回布爾類型true,否則傳回布爾類型false; (注:bool表示函數傳回值類型為布爾類型)

任務

在右邊編輯器中,輸入兩條指令:

1、在第4行輸入第一行指令:

$is1 = defined($p);      

2、在第5行輸入第二條指令:

$is2 = defined("PI2");      

如圖所示:

PHP入門篇

我們可以看到傳回的值為布爾類型,如圖所示:

PHP入門篇
<?php 
define("PI1",3.14);
$p = "PI1";
$is1 = defined($p);
$is2 = defined("PI2");
var_dump($is1);
var_dump($is2);
?> 
           

 二十一、什麼是運算符

什麼是運算符?運算符是告訴PHP做相關運算的辨別符号。例如,你需要計算123乘以456等于多少,這時候就需要一個符号,告訴伺服器,你需要做乘法運算。

PHP中的運算符有哪些?PHP運算符一般分為算術運算符、指派運算符、比較運算符、三元運算符、邏輯運算符、字元串連接配接運算符、錯誤控制運算符。

任務

我們小時候學數學,首先學阿拉伯數字“1,2,3…”,然後就開始學習“1加1等于2”,那麼在PHP中,加法算術運算符用啥表示呢?用“+”來表示。在右邊的編輯器中,輸入一條指令“$c = $a + $b;”。

<?php 
$a = 1;
$b = 1;
$c = $a+$b;
echo $c;
?>
           

 二十二、PHP中的算術運算符

    算術運算符主要是用于進行算術運算的,例如:加法運算、減法運算、乘法運算、除法運算。在PHP中的常用的算術運算符對應下表:

PHP入門篇

任務

考考伺服器^_^,算個平均分呗!

在右邊編輯器中,輸入四條指令,如圖:

PHP入門篇

1、在第7行輸入第一條指令,用于計算總分;

$sum = $english+$math+$biological+$physical;      

2、在第8行輸入第二條指令,用于計算平均分;

$avg = $sum / 4;      

3、在第9行輸入第三條指令,計算數學比英語高幾分;

$x = $math - $english;      

4、在第10行輸入第四條指令,學習下平方的計算方法。

$x2 = $english * $english;      

計算結果如圖所示:

PHP入門篇
<?php 
$english = 110; //英語成績
$math= 118; //數學成績
$biological = 80; //生物成績
$physical = 90; //實體成績

$sum = $english + $math + $biological + $physical;
$avg = $sum/4;
$x = $math - $english;
$x2 = $english * $english;

echo "總分:".$sum."<br />";
echo "平均分:".$avg."<br />";
echo "數學比英語高的分數:".$x."<br />";
echo "英語成績的平方:".$x2."<br />";
           

 二十三、PHP中的指派運算符

PHP的指派運算符有兩種,分别是:

(1)“=”:把右邊表達式的值賦給左邊的運算數。它将右邊表達式值複制一份,交給左邊的運算數。換而言之,首先給左邊的運算數申請了一塊記憶體,然後把複制的值放到這個記憶體中。

(2)“&”:引用指派,意味着兩個變量都指向同一個資料。它将使兩個變量共享一塊記憶體,如果這個記憶體存儲的資料變了,那麼兩個變量的值都會發生變化。

"=":表示深拷貝,“&”:表示淺拷貝

任務

咱們對比一下兩個指派運算符的差別吧?

在右邊編輯器中輸入條指令,

1、在第3行中輸入第一條指令:

$b = $a;      

2、在第4行中輸入第二條指令:

$c = &$a;      

如圖所示:

PHP入門篇

從運作結果中:

PHP入門篇
<?php 
    $a = "我在慕課網學習PHP!";
	$b = $a;
	$c = &$a;
	$a = "我天天在慕課網學習PHP!";
	
	echo $b."<br />";
	echo $c."<br />";
?>
           

 二十四、PHP中的比較運算符

比較運算符主要是用于進行比較運算的,例如:等于、全等、不等、大于、小于。在PHP中常用的比較運算符如下表:

PHP入門篇

任務

咱來試試比較運算符吧!

在右邊編輯器中,輸入11條指令,如圖所示:

PHP入門篇

分别是第4行,第6行,第8行,第10行,第12行,第14行,第18行,第20行,第22行,第24行,第26行。運作結果如下:

PHP入門篇

從運作結果中,我們可以發現全等和等于的差別,不等與非全等的差別。

 二十五、PHP中的三元運算符

(“?:”)三元運算符也是一個比較運算符,對于表達式(expr1)?(expr2):(expr3),如果expr1的值為true,則此表達式的值為expr2,否則為expr3。

任務

看看三元運算符咋用吧!

 在右邊編輯器中第3行輸入一條指令:

$b = $a >= 60 ? "及格": "不及格";       

如下圖所示:

PHP入門篇

其expr1的作用是判斷$a值是否大于60,若大于60,則$b變量的值為expr2的值“及格”,若小于60,則$b變量的值為expr3的值“不及格”。運作結果如圖所示:

PHP入門篇

二十六、PHP中的邏輯運算符

邏輯運算符主用是進行邏輯運算的,例如:邏輯與、邏輯或、邏輯異或、邏輯非等,在PHP中常用的邏輯運算符如下表:(點選看大圖)

PHP入門篇

我們可以從投票的角度來了解邏輯運算:

1、邏輯與:要求所有人都投票同意,才會通過某協定;

2、邏輯或:隻要求一個人投票同意就行;

3、邏輯異或:隻能有且隻能有一個人投票同意;

4、邏輯非:某個人要反對,但是通過邏輯非,使其反對無效;

“與”和“或”有兩種不同形式運算符的原因是它們運算的優先級(就是運算的有限順序,比如我們國小的時候學習四則運算,加減乘除混合在一起啦,優先計算乘除,再計算加減)不同。

任務

我來試一試:大家來投票吧!

我們假設有A、B、C、D進行了投票,然後我們用邏輯運算符,來判定他們的投票是否能通過某些協定。在右邊編輯器中輸入六條指令,分别是第7行,第9行,第11行,第13行,第15行,第17行,如下圖所示:(點選看大圖)

PHP入門篇

其中第7行,第9行,第11行需要括号括起來,因為這三個邏輯運算符的優先級沒有三元運算符高。運作結果如下:

PHP入門篇
<?php 
    $a = TRUE; //A同意
	$b = TRUE; //B同意
	$c = FALSE; //C反對
	$d = FALSE; //D反對
	//咱順便複習下三元運算符
	echo ($a and $b)?"通過":"不通過";//邏輯與
	echo "<br />";
	echo ($a or $c)?"通過":"不通過";//邏輯或
	echo "<br />";
	echo ($a xor $c xor $d)?"通過":"不通過";//邏輯異或
	echo "<br />";
	echo !$c?"通過":"不通過";//邏輯非
	echo "<br />";
	echo $a && $d ? "通過":"不通過";//邏輯與
	echo "<br />";
	echo $b || $c || $d?"通過":"不通過";//邏輯或
?>
           

 二十七、PHP中的字元串連接配接運算符

字元串連接配接運算符是為了将兩個字元串進行連接配接,PHP中提供的字元串連接配接運算符有:

(1)連接配接運算符(“.”):它傳回将右參數附加到左參數後面所得的字元串。

(2)連接配接指派運算符(“.=”):它将右邊參數附加到左邊的參數後。

任務

兩種連接配接運算符差別在哪呢?

在右邊編輯器中輸入三條指令,

1、在第3行輸入第一條指令“$tip = $a.",歡迎您在慕課網學習PHP!";”

2、在第6行輸入第二條指令“$b .= ",道是無晴卻有晴";”

3、在第9行輸入第三條指令“$c = $c.",道是無晴卻有晴";”

如下圖所示:

PHP入門篇

從運作結果中:

PHP入門篇

我們可以看出連接配接指派運算符在連接配接字元串的基礎上,還有指派功能。此外,第6行的指令與第9行的指令效果相同,但前者代碼更簡潔。

<?php 
    $a = "張先生";
	$tip = $a.",歡迎您在慕課網學習PHP!";
	
    $b = "東邊日出西邊雨";	
    $b .=",道是無情卻有情";
    
	$c = "東邊日出西邊雨";	
    $c = $c.",道是無情卻有情";
    
	echo  $tip."<br />";
	echo  $b."<br />";
	echo  $c."<br />";
?>
           

 二十八、PHP中的錯誤控制運算符

PHP中提供了一個錯誤控制運算符“@”,對于一些可能會在運作過程中出錯的表達式時,我們不希望出錯的時候給客戶顯示錯誤資訊,這樣對使用者不友好。于是,可以将@放置在一個PHP表達式之前,該表達式可能産生的任何錯誤資訊都被忽略掉;

如果激活了track_error(這個玩意在php.ini中設定)特性,表達式所産生的任何錯誤資訊都被存放在變量$php_errormsg中,此變量在每次出錯時都會被覆寫,是以如果想用它的話必須盡早檢查。

需要注意的是:錯誤控制字首“@”不會屏蔽解析錯誤的資訊,不能把它放在函數或類的定義之前,也不能用于條件結構例如if和foreach等。

任務

看看錯誤控制運算符的效果吧!

在右邊編輯器的第2行輸入一條指令“$conn = @mysql_connect("localhost","username","password");”,如圖所示:

PHP入門篇

在右邊編輯器的第2行輸入一條指令“$conn = @mysql_connect("localhost","username","password");”,如圖所示:

PHP入門篇
<?php  
 $conn = @mysql_connect("localhost","username","password");
 echo "出錯了,錯誤原因是:".$php_errormsg;
?>
           

 二十九、PHP中的算術運算符(2)

取模算術符有啥用呢?

假設我們要在一個考場安排了一場考試,對考生從1開始,都進行了編号,那麼怎麼讓伺服器幫助我們計算考生在的位置呢,進而列印考場的考生對照表呢?在右邊編輯器裡輸入兩條指令,如圖所示:

PHP入門篇

任務

我來試一試:

1、在第5行輸入第一條指令,用于計算在第幾排。

$line = ceil($no/$maxLine);      

2、在第6行輸入第二條指令,使用取模算術符計算所在位置。

$row = $no%$maxLine?$no%$maxLine:$maxLine;      

運作結果如下:

PHP入門篇

 還有 這部還有沒呀看的  

轉載于:https://www.cnblogs.com/yipingios/p/6212004.html