PHP基本文法
1、 php概述
1、 什麼是phpPHP(Hypertext Preprocessor),中文譯為: 超文本預處理。
1、 超文本: 比文字(.txt)牛,檔案後綴 .php。
2、 預處理: 檔案在瀏覽器存取前需要在伺服器中處理一下。 PHP是在伺服器端執行的通用腳本語言。 PHP是世界最好的程式語言。
PHP官網:http://www.php.net
2、php能做什麼1、web應用開發
## 1、開源
2、適合程式設計師入門語言
#1、 php檔案php 檔案的預設 副檔名為 .phpPHP 檔案通常包含 HTML 標籤以及某些 PHP 腳本程式碼。 2、 php標記當解析一個PHP檔案時,PHP解析器會尋找檔案中php 開始標記 與 結束標記 ,並解析標記中的php程式碼。注意: 任何在開始標記和結束標記外的內容都會被解析器忽略。 2.1標準風格(推薦)2.2短標記(不推薦)注意: php.ini需要設定short_open_tag = On2.3 Hello World2.4省略結束標記如果php檔案從開始到頁面結束全部是php程式碼,可以省略php的結束標記?>。這可以避免在 PHP 結束標記意外加入了空格或換行符,會導致 PHP 輸出這些空白。 3、 php執行過程3.1編譯型和解釋型(了解)編譯型: 對於c ,由於其前期只要編譯一遍,編譯好就不會再重複編譯了,只需要執行就ok,所以其損耗為: 1次編譯100次執行解釋型: 對於php,其每次都要編譯執行,所以其損耗為: 100次編譯100次執行如果保存了可執行程式碼是編譯型語言,沒有保存可執行程式碼是解釋型語言3.2 php程式碼解析過程PHP是解釋型語言,將PHP程式碼解釋為opcode之後再交由Zend引擎執行。 4.php程式碼嵌入html4.1 php程式碼嵌入HTML標籤中在php檔案中可以包含php程式碼,也可以包含html標籤,所以可以使用php標記將php程式碼嵌入html標籤中。 4.2 php程式碼嵌入HTML執行過程客戶端向伺服器發送請求:1.如果請求的是HTML,伺服器php不會解析頁面內容,頁面的HTML程式碼全部傳送到客戶端瀏覽器,瀏覽器再解析。 2.如果請求的是PHP,伺服器會執行PHP解析php程式碼,執行完成後會產生標準的HTML程式碼,然後將HTML程式碼傳送到客戶端php01/three.php5、php中的註解單行註解: // 註解內容 或# 註解內容多行註解: /* 註解內容*/注意: 註解會增強程式碼的可讀性。註解分為: 檔案註解、變數註解、函數註解、程式碼區塊註解等。一個優秀的程式設計師一定要學會對程式碼進行註解。 php01/comment.php6、總結php是一門在服務端執行的內嵌於html的腳本語言。 3. php中的變數1、 直接量 ·直接量(literal),就是程式中直接使用的資料值。 php01/literals.php2、 語句程式就是一系列的程式語句組成,php中語句需要用 ; 結束。 php01/statement.php3、 變數3.1變數定義變數使用來儲存資料的容器。就是將資料(直接量) 使用*變數*儲存或識別變數會在首次為其賦值時被創建,使用= 對變數進行賦值php中的變數規則:1、變數以$ 符號開頭,其後是變數的名稱2、變數名稱必須以字母或底線開頭3、變數名稱不能以數字開頭4、變數名稱只能包含字母數字字元和底線(A-z、0-9 以及_)5、變數名稱對大小寫敏感( $name 與$namE 是兩個不同的變數)思考: 變數以及變數的值儲存在什麼地方?答案: 記憶體中,運行php腳本,腳本中所有的變數都會被php解析處理之後儲存在記憶體中!思考: 變數以及變數的值在記憶體中如何儲存?答: 在記憶體會分配空間分別儲存變數和值,結構為: 變數---->值位址--->值 3.2變數命名方式1、 變數名盡量使用完整的*英文*命名,不要使用漢語拼音,不會的單字請使用有道翻譯2、 定義變數的時候,不要貪圖簡短,而應該使用具有描述性的名稱定義變數如果變數名稱中包含多個單詞,可以使用如下命名方法:(1 ) 底線命名法,以_ 區分變數名稱中的多個單字(2) 駝峰命名法,而第一個單字首字母小寫,其他的單字首字母大寫php01/variable_naming.php3.3變數的輸出echo 能夠輸出一個大寫php01/variable_naming.php3.3變數的輸出echo 能夠輸出一個大寫php01/variable_naming.php3.3變數的輸出echo 能夠輸出一個大寫php01/variable_naming.php3.3變數的輸出echo 能夠輸出一個以上的字串或同時輸出多個變數print 只能輸出一個字串或一個變量,並且總是回傳1var_dump 輸出內容(資料或變數)、資料型別、資料的長度注意: echo 比print 稍快,因為它不傳回任何值。 3.4變數的賦值變數之間的賦值: 就是將一個變數傳遞給另一個變數。 1. 按值賦值: 就是普通的賦值,將一個變數的值製作一個副本傳遞給另一個變量,傳遞的是變數的值,一個變數改變值,另一個變數值不變。 php01/variable_assign.php2、 按地址賦值: 使用&符號賦值,將一個變數的值的位址傳遞給領一個變量,兩個變數共同使用給一個值的位址。一個改變另一個也會改變。 php01/variable_assign.php3.4可變變數將變數名稱儲存在另一個變數中。3.5變數的銷毀1、 php腳本解析完畢之後,變數全部由php的垃圾回收機制銷毀,記憶體釋放。 2. 手動銷毀,透過unset()可以銷毀變數。 php01/unset.php3、垃圾資料如果一個資料沒有被變數引用, PHP垃圾回收機制 就會判 資料是垃圾資料。 unset()銷毀的是變量,變量銷毀以後,變量的值就不被引用,垃圾回收機制就將值銷毀。 php01/unset.php4、 php變數類型PHP 是一門弱型別語言 。 php宣告變數的時候不需要宣告變數類型。 PHP會根據變數的值,自動把變數轉換成正確的資料型別。在強型別的程式語言中 ,如C、C ,我們必須在使用變數前先宣告(定義)變數的型別和名稱。 PHP支援8種原始資料型別: 整數型、浮點型、字串型、布林型別、陣列型別、物件型別、NULL型別、資源型別1、 標量型別1.1整數型1、 整數型 : integer 或int2、 包含正整數、負整數、0。取值範圍: 範圍-2 31 ~2 31 -1 ,超出這個範圍會被當做float 浮點型處理3、 整數佔 4個位元組大小4、 判斷資料或變數是否為整數,使用is_int() 。回傳: true |falsephp0/integer.php1.2浮點型1、 浮點型: float2、 浮點型就是小數型的資料。 3、 浮點型小數後有效位數 14 位數5、 判斷資料或變數是否為浮點型。使用 is_float() 傳回: true |falsephp01/float.php1.3字串型1、 字串: string2、 任何以 單引號 或 雙引號 引起來字元都是字串。 3、 判斷資料或變數是否為字串類型。使用 is_float() 回傳: true |falsephp01/string.php1.4布林類型1、 布林類型: bool 或 boolen2、 布林類型的值只有兩個: true 或 false4、 資料判斷或變數是否為bool型別。使用is_bool() 回傳: true |false5、 bool型別一般作為判斷條件回傳結果使用php01/bool.php2、 複合型別2.1陣列型別1、 陣列: array2、 一組資料的集合3、 print_() 專門用來列印輸出數組的。 4、 判斷資料或變數是否為 數組 類型。使用is_array() 回傳: true |falsephp01/array.php2.2物件類型1、物件: object2、後面課程詳解php01/object.php3、 特殊型別3.1 NULL型別1、NULL型別: NULL2、表示沒有,值為null3 、判斷資料或變數是否為NULL 類型。使用is_null() 回傳: true |falsephp01/null.php3.2資源類型1、 資源類型: resource2、 PHP引用的外部資料 都會作為 資源類型 處理3、 資源類型只能取得,無法建立4、 資源也是有類別的,例如有連結資源,文字流資源5、 後期課程內容會講解 4、 php偽類型4.1 混合類型1、 混合類型: mixed2、 如果一個函數的參數類型為mixed 類型。表示參數可以 多種不同的型別 的資料 4.2 number型別1、number型別: number2、若一個函數的參數型別為number 類型,表示參數可以是integer型別或是float型別3、後期詳解 4.3 callback型別1、callback型別: callback2、callback表示回呼函數,某種情況下,程式自動呼叫的函數稱為回呼函數3、後期詳解 5、 取得類型函數gettype() 5、 類型轉換1、 自動轉換1、 在php程式中如果資料的類型與期望的類型不符,php會自定將資料類型轉成期望的類型。 php01/ trype_auto_conversion.php2、 強制轉換2.1暫時強制轉換就是將變數的型別暫時強制轉換成需要的型別。格式: (類型)$變數 (int) (bool) (float) (string) (array) (object) 注意1: 轉換型態並影響原變數的型別。 2.2永久轉換使用php函數 settype()php01/settype.php3、 其他型別與bool型別轉換bool型別的值只有: true(真)和false(假)。在許多情況下需要將其他類型轉換成bool類型進行條件判斷。整數: 0 (false) 非0 (true)字串: 空的字串、'0'字串轉成bool為false。其他為true數組: 空的數組轉成bool為false。其他為trueNULL: null轉成bool為false總結一句話: 非0 非空 非null 非false 即為truephp01/other_type_conversion_bool.php4、 型別轉換函數型別轉換相關函數: intval() 算術運算子 - * / % 2、 賦值運算子= <= 小於等於== 等於(值相等,類型不判斷) === 全等(型別與值必須相等)!= 不等於 !== 不全等 4、 邏輯運算子&&(and) 與 或 非(取反) 5、 連接符 .. 在php中是連接符號。連接: 變數與變數、變數與字串、字串與字串 6、 三元運算子6.1一元運算子自增 --自減 6.2三元運算子$rs = 運算式? 值1 : 值2;如果表達式結果為true。回傳值1,否則回傳值2 7、 運算子優先權() > 算術運算子 > 比較運算子> 邏輯運算子> 賦值運算子 7、 常數1、 常數1.1常數概述1、 運算子 7、 常數1、 常數1.1常數概述1、 在程式中一個數據很少發生變化,可以把整個數據用常數聲明。 2、 常數一般在程式開始的時候聲明1.2常數定義define("常數名稱", 值); const 常數名稱=值;常數名稱大寫,有意義。 php01/define.php1.3常數使用直接使用 常數名稱。 php01/define.php1.4常數判斷透過 defined() 判斷常數是否已宣告。回傳: true 或falsephp01/define.php2、 預定義常數PHP_VERSION 目前使用的PHP版本號PHP_OS 當前PHP環境的運行作業系統PHP_INT_MAX 整數integer值的最大值DIRECTORY_SEPARATORconstion .php3、 魔術常數常數值不變,魔術常數的值會改變。 __魔術常數名__php01/magic_const.php4、 查看所有常數(了解)get_defined_constants()php01/get_defined_constants.php8、 超全域變數超級全域變量,可以在腳本的任何地方使用和可見。 1、$_SERVER 取得伺服器與客戶相關資訊。 2、$_GET 、 $_POST 、 $_FILES 、 $_COOKIE 、 $_SESSION 後期課程詳解9、 練習題1、實現兩個變數值的交換 # ## ##
以上是php基本語法的詳細內容。更多資訊請關注PHP中文網其他相關文章!