PHP基礎知識詳細講解
目錄
- 一、簡介
- 二、php基本語法
- 三、變量和作用域
- 四、常量
- 五、數(shù)據(jù)類型
- 六、運算符
- 七、流程控制
- 八、超全局變量
一、簡介
基礎知識:
需要一定的html和css的語法知識
基本概念:
PHP(超文本預處理器)是一種通用開源腳本語言,在服務器上執(zhí)行。
PHP文件:
- PHP 文件可包含文本、HTML、JavaScript代碼和 PHP 代碼
- PHP 代碼在服務器上執(zhí)行,結果以純 HTML 形式返回給瀏覽器
- PHP 文件的默認文件擴展名是 ".php"
二、php基本語法
<?php#單行注釋1// 單行注釋2/** 多行注釋3 */echo "<h1>hello world</h1>";$name="coleak";$mes="hello";echo $mes." ".$name;echo "<br>";echo "my name is $name";echo "<br>";echo "my name is $name";echo "<br>";var_dump($name);// 調(diào)試函數(shù),沒有返回值?>
三、變量和作用域
<?phpfunction fun(){ $y=0;//局部變量 echo "y的值為: $y"; echo "<br>"; echo "x的值為: $x";}$x=1;//全局變量fun();echo "<br>";echo "y:$y";echo "<br>";echo "x:$x";?>
分析:此時函數(shù)內(nèi)不能訪問全局變量,需要使用globar $x; 函數(shù)外不能訪問局部變量。
<?phpfunction fun(){ static $y=0;//靜態(tài)變量 echo "y的值為: $y"; echo "<br>"; $y++;}fun();fun();fun();fun();?>
四、常量
<?php// 被替代的寫法define("mess","hello");echo mess;// 新寫法const name ="coleak";echo name;function fun(){ echo name;}fun();?>
五、數(shù)據(jù)類型
布爾類型
<?php$a=true;$b=False;if(is_bool($a)) if(is_bool($b)) echo 1;?>
此時輸出為1,不區(qū)分大小寫的弱語言
heredoc和nowdoc
<?php$a=true;$b=False;if(is_bool($a)) if(is_bool($b)) echo 1;?><?php$name="coleak";$message=<<<"EOT"hello $nameEOT;echo $message;?>
上面輸出為hello coleak,下面輸出為hello $name
數(shù)組
<?php$a1=array("12","12",12);$a2=[1,2,3,4];$a3=["hh"=>6,5=>"coleak"];var_dump($a1);echo "<br>";var_dump($a2);echo "<br>";var_dump($a3);echo "<br>";unset($a3["hh"]);var_dump($a3);?>
array(3) { [0]=> string(2) "12" [1]=> string(2) "12" [2]=> int(12) }
array(4) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) }
array(2) { ["hh"]=> int(6) [5]=> string(6) "coleak" }
array(1) { [5]=> string(6) "coleak" }
對象
<?phpclass person{ var $count=1; function func() { echo $this->count; }}$per1=new person();echo $per1->count;//后面的count前面不用加$號echo "<br>";$per1->func();?>
此時輸出為兩個1
null
<?php$a=1;$b=2;function fun(){ echo $a+$b; echo "<br>"; var_dump($a); echo "<br>"; var_dump($b); echo "<br>";}fun();var_dump($a);echo "<br>";var_dump($b);echo "<br>";?>
0
NULL
NULL
int(1)
int(2)
<?php$a=10;unset($a);var_dump($a+1);echo $a+2;echo "<br>";var_dump($b+3);echo $b+4;?>
2
4
六、運算符
字符串運算符
<?php$a="hello";$b=$a."world";$a.="world";echo $b,"<br>";echo $a;?>
helloworld
helloworld
比較運算符
注意:當字符串遇到數(shù)字內(nèi)容的比較時,如果不是使用絕對比較符,則會轉化為對應的數(shù)字進行比較。
邏輯運算符
數(shù)組運算符
<?php$a=["a"=>"aa","b"=>"bb"];$b=["a"=>"aaa","c"=>"cc"];$c=$a+$b;var_dump($c);?>
array(3) { ["a"]=> string(2) "aa" ["b"]=> string(2) "bb" ["c"]=> string(2) "cc" }
由此可以看出+時并沒有覆蓋重復的鍵。
三元操作符
<?php// 寫法一(老舊)$a="coleak";$name=$a?$a:"nobody";echo $name;// 新寫法$name2=$a?:"nobody";echo "<br>",$name2;?>
coleak
coleak
七、流程控制
<?php$x=[1,2,3,4,5];foreach ($x as $val){ echo $val."<br>";}?>
1
2
3
4
5
八、超全局變量
<?php$a=10;$b=20;function add(){ $GLOBALS["z"]=$GLOBALS["a"]+$GLOBALS["b"];}add();echo $z;?>
30
POST方式
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <form method="post" action="index.php"><p>my_add</p><input type="text" name="add1"><br><input type="text" name="add2"><br><input type="submit" value="提交"> </form></body></html>
<?php$add1=$_REQUEST["add1"];//也可以用$_POST$add2=$_REQUEST["add2"];//也可以用$_POST$add=$add1+$add2;echo $add;?>
333
GET方式(不安全)
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <form method="get" action="index.php"><p>Name:<input type="text" name="fname"></p><p>Password:<input type="password" name="passw"></p><p><input type="submit" value="提交"></p> </form></body></html>
<?php$fname=$_GET["fname"];$password=$_GET["passw"];$message=<<<ETO用戶名稱 $fname 用戶密碼 $passwordETO;echo $message;?>
到此這篇關于PHP基礎知識詳細講解的文章就介紹到這了,更多相關PHP基礎知識內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持!
