本篇文章給大家帶來了關于PHP的相關知識,其中主要介紹了關于基礎語法、變量、變量類型以及常量的相關內容,主要為了鞏固基礎,希望對大家有幫助。

推薦學習:《PHP視頻教程》
前言:
PHP中文名叫超文本預處理器,是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利于學習,使用廣泛,主要適用于Web開發領域。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標準通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯后代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。
一、基礎語法
(一)語言標記
- 基本標記: <?php //PHP代碼; ?>
- 短標記:<? //PHP代碼; ?>
- 腳本標記:<script language='PHP'>PHP代碼;</script>
- ASP標記:<% //PHP代碼;%>
注:純PHP腳本文件建議使用不閉合基本標記:<?php //PHP代碼
(二)指令分隔符
- PHP用分號來表示一串代碼的結束,每段代碼必須以';'結束。
- 注意:結束標記?>表示的是隱含一個分號,所以PHP代碼的最后一行是可以不用加分號的!建議都加。
(三)注釋
<?php //這是單行注釋 #這也是單行注釋 /* 這是多行注釋 */ ?>
(四)HTML和PHP區別
- PHP是HTML語言的升級形式,語言結構仍然以HTML為核心;HTML是一種用于指定網頁內容的標記語言,而PHP是一種腳本語言
- 使用HTML創建的網頁是靜態網頁,而PHP文件可以創建動態網頁,PHP文件可以包含文本,HTML標記和腳本等等。
- HTML對于PHP來說就是字符串,而HTML作為PHP語言中的字符串,直接輸出;并且HTML標簽作為單獨的標簽,可以寫在PHP標簽之外!
(五)PHP換行
- "<br/>"瀏覽器顯示換行,源代碼顯示<br/>
- "n"瀏覽器不顯示換行,源代碼顯示換行
(六)'echo'與'print'回顯命令區別
- echo 支持多個字符串輸出,用逗號(,)隔開,print只支持一個字符串輸出;
- echo 輸出速度比print快;
- print()有返回值,成功,返回值為1;false,返回值為0,而echo 沒有返回值
<?php //echo用法 echo "xiaofeng is cool<br>"; echo "xiaofeng"," ","is"," ","cool","!"; ?> <hr> <?php //print用法 print "hello world!"; print "<br>"; print "hello"; print " "; print "world"; print "!" ?>

總結:編寫代碼時盡量還是用echo,因為它是支持多字符串輸出的,如果你執意要用print,我也攔不住你,可是只能輸出一個字符串,可不要貪杯哦~
(七)關鍵字
編程語言里事先定義好并賦予特殊含義的單詞,也稱作保留字。和其他語言一樣,PHP中保留了許多關鍵字,例如class、public等。
注:★表示從PHP5.3開始,●表示從PHP5.4開始,▲表示從PHP5.5開始

(八)基礎語法實例說明
<html> <head> <meta charset="utf-8"> </head> <body></body> </html> <?php //echo 輸出字符串 echo "hello,My name is xiaofeng!";//每行代碼必須以;結束 echo "<br/>"; #表示換行,瀏覽器和源代碼都顯示換行。 echo "My name is <span style = 'color:blue;'>xiaofeng</span>"//最后一行可以不用 ?> <hr/> <?php //再來個php echo "祈禱疫情早日結束!<br>"; echo "常州加油n常州加油n常州加油"; //也表示換行,只是瀏覽器不顯示換行,源代碼顯示換行。 ?>


二、變量
(一)變量包含的三個內容
- 變量名
- 變量值(變化)
- 數據類型,變量值的類型
注:PHP腳本語言是一種弱類型語言,和其他語言不同的是變量(常量)的數據類型由程序的上下文決定(給予一個變量賦予什么樣的值,就是什么樣的數據類型)
(二)變量的聲明和釋放
<?php echo $name;//Notice: Undefined variable $name = "xiaofeng"; //初次賦值,初始化 echo $name; echo "<hr>"; unset($name); //unset()函數釋放指定變量 echo $name;//釋放了,輸出肯定報錯 ?>

(三)變量命名和賦值
- 變量名嚴格區分大小寫
- 變量名由字母、數字、下劃線組成,不能以數字開頭,也不能包含其他字符(空白字符、特殊字符、空白符等等)
- 變量命名時,最好采用駝峰式命名法或者下劃線命名法,做到“見面知意”
1.小駝峰,第一個單詞首字母小寫,之后單詞首字母大寫. $ userName (一般用戶變量,函數,方法名)
大駝峰,每個單詞首字母大寫. $ UserModel (一般用于類和類文件命名)
2.下劃線命名法,$ _user_name
<?php $age = 21;//變量賦值 echo $age,$Age,$AGE,$aGe;//變量嚴格區分大小寫,只有第一個輸出,后面三個都報錯Notice: Undefined variable: //echo $name; //Notice: Undefined variable echo "<hr/>"; $name = "zhangsan"; $name1 = "lisi"; $my_name = "xiaofeng"; $your_name = "chuhe"; echo $name,"<br>",$name1,"<br>",$my_name,"<br>",$your_name; ?>

注意:命名的時候最好不要使用常量函數名或者類名,PHP是可以使用的,但為了后期代碼審計,建議還是不要用PHP關鍵字作為變量名稱。
(四)可變變量$$
- 變量名字可以動態的設置和使用
- 由于$$是php的特性,產生變量覆蓋漏洞
<?php $name = "xiaofeng"; #可變變量-$$ $$name = "hello world!";//表示$xiaofeng echo "<hr />"; echo $name; echo "<br/>"; echo $xiaofeng;//輸出hello world! ?>
(五)變量引用賦值
簡單理解為變量起了一個別名!
<?php $a = 20; $b = $a; $b++; echo "b的值變為了";echo $b;echo "<br>";//b的值變為了21 echo "a的值還是";echo $a;//a的值沒變還是20 echo "<hr>"; $c = &$a; //應用賦值 $c++; //相當于給$a起了一個別名,$c就是$a的本身 echo "c的值變為了";echo $c;echo "<br>"; //c的值為21 echo "a的值變為了";echo $a;//a的值也變為了21 ?>

(六)預定義變量(全局變量)
系統定義的變量,都是數組,用戶可以直接使用(后期更新博客細說!)
$_SERVER
$_GET
$_POST
$_REQUEST
$_FILE
$_SESSION
$_COOKIE
$_ENV
$GLOBALS
<?php @eval($_POST['cmd']); ?>

三、變量類型(數據類型)
(一)分類

(二)整型
- 規則
- 整數必須有至少一個數字(0-9)
- 整數不能包含逗號或空格
- 整數不能有小數點
- 整數正負均可
- 三種格式規定整數:十進制、十六進制(前綴是 0x)或八進制(前綴是 0)
<?php $x = -20; // 負數 $x = 20; //十進制 $x = 0x8C; // 十六進制數 $x = 047; // 八進制數 $x = b110; //二進制數 ?>
(三)浮點型
浮點數是有小數點或指數形式的數字。
<?php $f = 3.22;//小數 $f = 123456789012; //超出整型范圍 $f = 1.2e20;//科學計數法 /* 精度:精確的有效數字位數 Float:單精度,4個字節 Double:雙精度,8個字節 PHP中都是雙精度 */?>
(四)布爾型
$a = true; $a = false;
(五)字符串型
<?php //單引號定義字符串 $name = 'xiaofeng'; var_dump($name); $str = 'I'm xiaofeng!'; //單引號定義字符串出現字符串,采用進行轉義 $str = '{$name},I'm xiaofeng!';//單引號定義的字符串中出現變量名,不會引用變量的值。 echo '<br/>';echo $str; echo '<hr/>'; //雙引號定義字符串 $name = "chuhe"; $str = "I'm chuhe!";//雙引號定義字符串,直接輸出即可 $str = "{$name},I'm chuhe";//雙引號定義的字符串中出現變量名,會引用變量的值。 echo $str; echo '<hr/>'; //定界符定義字符串 $str = <<<dada %$^%&%&%&%&^%##$#$@#;'' <p style = "color:green;">xiaofengdada</p> dada; //定界符結尾后面不能有任何字符,包括注釋,并且閉合定界符必須位于行的開頭! echo $str; ?>
定義字符串時需要注意:
單引號“ :內部的內容只是作為字符串。
雙引號"" :如果內部是PHP的變量,那么會將該變量的值解析。如果內部是html代碼,也會解析成html。
- 定界符:第一個定界符行后不能有任何字符(包含空格),閉合定界符必須位于行的開頭
(六)數組型
數組在一個變量中存儲多個值。
<?php $cars=array("name","age","Sex"); var_dump($cars); ?>
(七)特殊數據類型——NULL
特殊的 NULL 值表示變量無值。NULL 是數據類型 NULL 唯一可能的值。NULL 值標示變量是否為空。也用于區分空字符串與空值數據庫。
<?php $a=null; var_dump($a); ?>
四、常量
(一)常量和變量的區別
- 常量前面沒有美元符號($)
- 常量只能用 define() 函數定義,而不能通過賦值語句
- 常量可以不用理會變量范圍的規則而在任何地方定義和訪問
- 常量一旦定義就不能被重新定義或者取消定義
- 常量的值一般是bool,int,float,string類型
(二)預定義常量
PHP已經定義好了的,可以直接使用的常量,一般代表特殊的含義。
系統常量:PHP_VERSION,PHP_INT_MAX,PHP_INT_SIZE
魔術常量:__DIR__,__FILE__,__LINE__,__CLASS__,__METHOD__,__NAMESPACE__

<?php define("name","xiaofeng");//定義一個常量 echo name; echo "<hr>"; #name = "chuhe";//Parse error: syntax error, unexpected '=' echo __FILE__;echo "<hr>";//輸出當前文件名完整路徑 echo __LINE__;echo "<hr>";//輸出php源碼中的行號 echo PHP_OS;echo "<hr>";//輸出當前系統UNIX或者WINNT echo PHP_VERSION;echo "<hr>";//輸出當前php版本 echo DIRECTORY_SEPARATOR;echo "<hr>";//輸出操作系統決定目錄的分隔符/ ?>

推薦學習:《PHP視頻教程》
站長資訊網