PHP基礎鞏固之基礎語法、變數和常數(總結分享)

2022-04-11 19:00:22
本篇文章給大家帶來了關於的相關知識,其中主要介紹了關於基礎語法、變數、變數型別以及常數的相關內容,主要為了鞏固基礎,希望對大家有幫助。

推薦學習:《》

前言:

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區別

  1. PHP是HTML語言的升級形式,語言結構仍然以HTML為核心;HTML是一種用於指定網頁內容的標示語言,而PHP是一種指令碼語言
  2. 使用HTML建立的網頁是靜態網頁,而PHP檔案可以建立動態網頁,PHP檔案可以包含文字,HTML標記和指令碼等等。
  3. 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']);
?>


三、變數型別(資料型別)

(一)分類

(二)整型

  • 規則
  1. 整數必須有至少一個數位(0-9)
  2. 整數不能包含逗號或空格
  3. 整數不能有小數點
  4. 整數正負均可
  • 三種格式規定整數:十進位制、十六進位制(字首是 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基礎鞏固之基礎語法、變數和常數(總結分享)的詳細內容,更多請關注TW511.COM其它相關文章!