PHP基礎知識詳細講解
一、簡介
基礎知識:
需要一定的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); // 調試函數(shù),沒有返回值 ?>
三、變量和作用域
<?php function 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ù)內不能訪問全局變量,需要使用globar $x; 函數(shù)外不能訪問局部變量。
<?php function 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 $name EOT; 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" }
對象
<?php class 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ù)字內容的比較時,如果不是使用絕對比較符,則會轉化為對應的數(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 用戶密碼 $password ETO; echo $message; ?>
到此這篇關于PHP基礎知識詳細講解的文章就介紹到這了,更多相關PHP基礎知識內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
自寫的利用PDO對mysql數(shù)據(jù)庫增刪改查操作類
這篇文章主要給大家介紹了關于自寫的利用PDO對mysql數(shù)據(jù)庫的增刪改查操作類的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。2018-02-02PHP實現(xiàn)深度優(yōu)先搜索算法(DFS,Depth First Search)詳解
這篇文章主要介紹了PHP實現(xiàn)深度優(yōu)先搜索算法(DFS,Depth First Search),簡單分析了深度優(yōu)先搜索算法的原理并結合具體實例給出了php實現(xiàn)深度優(yōu)先搜索的具體步驟與相關操作技巧,需要的朋友可以參考下2017-09-09