PHP簡介
最初用于維護個人主頁,簡寫為:Personal HomePage,
最后改為:Hypertext Preprocessor(超文本前處理器),于1994年誕生,
優勢
- 性能好,開發效率高
- 跨平臺(可以在不同的作業系統上運:
windows/linux/unix) - 上手快,編輯簡單,實用性強
- 面向物件[
PHP 4開始,目前完全支持面向物件] - 開放的源代碼,所有的
PHP源代碼都可以得到 - 成本低
注:PHP靈活,對程式員的約束太少,PHP默認是解釋運行機制,所以很多問題在運行階段才會發現,
B/S結構和C/S結構
B/S:Browser-Server,瀏覽器-服務器,通過瀏覽器訪問,都可以看作B/SC/S:Client-Server,客戶端-服務器,通過客戶端訪問,比如QQ,微信
PHP基礎語法
開始標記和結束標記
- 告訴
PHP開始和停止決議二者之間的代碼,這使得PHP可以被嵌入到各種不同的檔案中去, - 如果是檔案是純
PHP代碼,最好在檔案末尾洗掉PHP結束標記,
指令分隔符
//指令分隔符:php和其他編程語言一樣,在每個陳述句后用分號';'結束指令,一段PHP代碼中的結束標記隱含一個分號,所以在一個PHP代碼段中的最后一行可以不用分號結束,
echo 'hello, world'."\n";
注釋
//單行注釋:// #
//多行注釋: /* */
echo "你好"."\n"; //單行注釋
echo "你也好"."\n"; #單行注釋
/*
* 多行注釋
*/
echo "大家都好"."\n";
變數
由一個美元符號$后面跟變數名來表示(變數名區分大小寫),
和其他編程語言一樣,一個有效的變數名由字符或者下劃線開頭,后面跟上任意數量的字符、數字或者下劃線(也可中文),
$this是個特殊的變數,不能被賦值,
//使用變數之前必須定義并進行賦值
$a; //定義后不賦值直接使用會報錯:Undefined variable
echo $a;
//變數名區分大小寫
$var = "Bob";
$Var = "Tom";
echo $var."和".$Var."\n";
傳值賦值和參考賦值
/*
* 傳值賦值:當一個變數的值賦予另外一個變數的時候,改變其中一個變數的值,將不會影響到另外一個變數,
* 參考賦值:新變數指向了原始變數,改動新的變數將影響到原始變數,反之亦然,(只有由名字的變數才能參考賦值,比如運算式就不可以)
*/
$a = "Bob";
$b = $a; //傳值賦值
$b = 10;
echo "a:".$a."\tb:".$b."\n";
$c = &$a; //參考賦值
$c = 20;
echo "a:".$a."\tc:".$c."\n";
全域變數
/*
* php
* 在C語言中全域變數在函式中會自動生效,除非被區域變數覆寫,
* php中全域變數在函式中使用時必須宣告為global
* $GLOBALS是一個關聯陣列,每一個變數為一個元素,鍵名對應對變數,值對應變數內容,
*/
$a = 1;
$b = 2;
function Sum()
{
echo "a:".$a."\tb:".$b; //不會有任何輸出
//方法一:使用global標識全域變數
global $a, $b;
echo "a + b = ".($a + $b)."\n";
//方法二:使用$GLOBALS替代
echo "a + b = ".($GLOBALS['a'] + $GLOBALS['b'])."\n";
}
Sum();
靜態變數
/*
* 靜態變數僅在區域函式域中存在,但當程式執行離開此作用域時,其值并不丟失,
*/
//每次呼叫,$a都會重新定義賦初值,$b在編譯期間初始化,以后不會重新定義,
function Test1()
{
$a = 0;
static $b = 0;
static $c = 1+2;
echo "a=".$a."\t"."b=".$b."\n";
$a++;
$b++;
}
for ($i = 0; $i < 10; $i ++)
{
Test1();
}
可變變數
/*
* 可變變數:一個變數的變數名可以動態設定和使用,
*/
$a = 'hello';
$$a = "world"; //一個可變變數獲取了一個普通變數的值作為這個可變變數的變數名
echo "$a ${$a}"."\n";
echo "$a $hello"."\n";
常量
一旦被定義,就不能再改變或者取消定義
常量只能包含boolean,integer,float,string
常量和變數有如下不同:
- 常量前面沒有美元符號
$; - 常量只能用
define()函式定義,而不能通過賦值陳述句; - 常量可以不用理會變數的作用域而在任何地方定義和訪問;
- 常量一旦定義就不能被重新定義或者取消定義;
- 常量的值只能是標量型別;
常量的定義
php5.3.0后,除了使用函式define()之外,還可以使用關鍵字const來定義常量,
const和define()的區別:
- 版本差異,
php5.3.0后才能使用const關鍵字,define()函式對所有版本兼容 - 定義位置差異:
define()函式定義的常量是在執行define()函式時定義的,可以在任何位置定義,無論是函式內或函式外
const關鍵字定義的常量是編譯時定義的,所以定義的時候必須處于最頂端的作用區域,不能在函式內部 - 對值的運算式支持差異
const關鍵字定義的常量值的運算式中不支持運算子,define()函式可以支持
注意:使用const關鍵字定義常量必須處于最頂端的作用區域,因為用此方法是在編譯時定義的,這就意味著不能在函式內,回圈體內用const來定義常量,
define("A", "Hello, world");
echo "A = ".A."\n";
const B = "你好";
echo "B = ".B."\n";
魔術常量
__LINE__:檔案中的當前行號
__FILE__:檔案的完整路徑和檔案名
__DIR__:檔案所在的目錄
__FUNCTION__:函式名稱
__CLASS__:類的名稱
__TRAIT__:Trait的名字,包括其被宣告的作用區域
__METHOD__:類的方法名
__NAMESPACE__:當前命名空間的名稱
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/69412.html
標籤:PHP
上一篇:wordpress 5.3.2 自帶主題不能設定備案號的解決方法
下一篇:php資料型別
