PHP基礎知識
一、初識PHP
PHP是一種伺服器端HTML-嵌入式腳本描述語言,其最強大且重要的特徵就是跨平台和物件導向。
PHP是B/S(瀏覽器/伺服器)體系結構,屬於三層結構。
1、PHP語言的優點:
1.高安全性。
2、跨平台特性。
3、支援廣泛的資料庫。
4、易學性。
5、執行速度快。
6、免費。
7、模板化。
8、支援物件導向與流程。
9、內嵌zend加速引擎。
2、PHP5的新特性:
1、建構子和分析構子。
2、對象的引用。
3、對象的克隆。
4、物件中的私人、公有與受保護模式。
5、介面。
6、抽象類別。
7、__call。
8、__set和__get。
9、靜態成員。
3、擴充函式庫
從PHP5開始,PHP即新增了內建的標準擴充庫,包括XML擴充函式庫-DOM、SimpleXML、SPL、SQLite等,而像MySQL、mysqli、overload、gd2等這些函式庫則被放在pecl外部擴充庫。需要時在php.ini。在設定檔中選擇載入。
在windows下載入擴充庫,需修改php.ini檔案來完成。使用者也可以在腳本中透過 dll() 函數來動態載入。 php擴充庫的DLL檔都具有php_前綴。
編輯php.ini檔案時,應注意以下幾點。
1、需要修改exiension_dir設定使其指向使用者放置擴充庫的目錄或方式PHP_*.dll檔案的位置。 如:extension_dir = C:phpextensions
2、要在php.ini檔案中啟用某擴充庫,需要去掉extension = php_*.dll 前的註解,需要去掉extension = php_*.dll 前的註解符號,即將需要載入的擴充符號前的分好" ; 。 如 ;extension = php_bz2.dll
3、有些擴充程式庫需要額外的dll才能運作。其中一部分dll檔案綁定在發行包中,但還有一些,如Oracle所需的dll並沒有保定在發行包中。
二、正式學習php
?>
其中"" 是php的標記對。在標記對中所有的程式碼都當作php程式碼來處理。
echo 是輸出語句。
1、 php總共支援4中標記風格。
(1)XML樣式
echo "xml script language = "php">
echo "這是腳本風格";
(3)簡短風格
echo "這是簡短風格";?>
(4)ASP %>
2、 php註解支援3種。
c++風格單行註解
echo 「C++風格」; //這就是C++風格
風格
多行註解*/?>shell風格註解 echo "shell腳本風格"; #這裡的內容看不到的。 ?>三、php的資料型態:1、標量資料型別 標量資料型態是資料結構中最基本的單元,只能儲存一個資料。 布林型:是最簡單的類型。只有兩個值,真和假。 字串型:字串就是連續的字元序列,可以是電腦所能表示的一切字元的集合。 整數:只能包含整數。這些資料類型可以是正數或負數。 浮點型:浮點數資料型別用來儲存數字,和整數不同的是它有小數位。 2、複合資料型別 複合資料型別包含兩種,分別為陣列與物件。
陣列:一組相同類型的變數的集合。
物件:物件是類別的實例,使用new指令來建立。
3、特殊資料型別
特殊資料型別包含資源及空值兩種。
資源:資源是一種特殊變量,又稱為句柄,保存到外部資源的一個引用。資源是透過專門的函數來建立和使用的。
空值:特殊的值,表示變數沒有值,唯一的值就是null。
4、轉換資料型別
雖然php是弱型別語言,但有時仍需要用到型別轉換。
boolean 轉換成布林類型
string 轉換成字型
轉換成浮點型 array 轉換為陣列 is_bool檢查變數是否為布林型別 例如 is_bool(true) is_string檢查變數是否為字串型別 is_float is_null 檢查變數是否為nullis_array檢查變數是否為陣列型別 is_objcct檢查變數是否為陣列型別 is_numeric檢查變數是否為數字或由數字組成的字串。 四、php常數1、聲明和使用常數 常數可以理解為值不變的量。常數值被定義後,在腳本的其他任何地方都不能改變。 一個常數由英文字母、底線和數字組成,但數字不能作為首字母出現。 在php中使用define()函數定義常數。 格式 define(string constant_name, mixed value , case_sensitive = true) constant_name 必選參數。常量名稱,即標識符。 value 時中使用參數。常量的值。 case_sensitive 可選參數。指定是否大小寫敏感,設定為true,表示不敏感。 取得常數的值有兩種方法:一種是使用常數名直接取得值;另一種是使用constant()函數,constant()函數和直接使用常數名輸出的效果是一樣的,但函數可以動態地輸出不同的常數,使用上要靈活方便的多。 2、預設常數 __FILE__ 預設常數,php 預設常數,php程式行數 兩條下劃線 PHP_VERSJON 內建常數 量,執行php解析器的作業系統名稱 TRUE 常數 此常數為假值(false) NULL 一個null E_WARNNG 此常數指到最近的警告處 E_PARSE 此常數為發生不尋常處的提示但不一定是錯誤處 五、變數1 、變數宣告及使用和許多語言不同,在php中使用變數之前不需要宣告變量,只需為變數賜值即可。 php中的變數名稱以$和識別符表示,變數名是區分大小寫的。 變數賦值,是指給變數一個具體的資料值,對於字串和數字類型的變量,可以透過「=」來實現賦值。
變數名稱不能以數字字元開頭。
變數名稱不能以字母和底線「_」以外的其他字元開頭。
2、變數作用域
變數在使用時,要符合變數的定義規則。變數必須在有效範圍內使用。
局部變數 在函數的內部定義的變數,其作用域是所在函數。
全域變數 被定義在說有幻術以外的變量,其作用域是整個php文件,但在使用者自訂函數內部是不可用的,如果希望在使用者自訂函數內部使用全域變量,則要使用global關鍵字聲明全域變數。
靜態變數 能夠在函數呼叫結束後丟保留變數值,當再次回到其作用域時,又可以繼續使用原來的值,而一般變數是在函數呼叫結束後,其儲存的資料值即被清除,所佔的記憶體空間也被釋放。使用靜態變數時,先要用關鍵字static來宣告變量,把關鍵字static放在要定義的變數之前。
3、可變變數
可變變數是一種獨特的變量,他允許動態改變一個變數名稱。其運作原理是該變數的名稱由另一個變數的值來決定,實作過程就是在變數的前面再多加一個美元符號「$」
4、php預定義變數
php也提供了許多非常實用的預先定義變數,透過這些預先定義變數可以取得到使用者會話、使用者作業系統的環境和本機作業系統的環境等資訊。
$_SERVER [ ' SERVER_ADDR ' ]目前執行腳本所在的伺服器的IP位址
$_SERVER [ ' SERVER_NAME ' ]目前執行腳本所在伺服器主機的名稱。如果該腳本運行在一個虛擬主機上,則名稱是由虛擬主機所設定的值決定。
$_SERVER [ ' REQUEST_METHOD ' ]造訪頁面時的請求方法。如get、head、post、put等,如果要求的方式是head,php腳本將在輸出頭資訊後中止(這表示在產生任何輸出後,不再有輸出緩衝)
$_SERVER [ ' REMOTE_ADDR ' ]正在瀏覽目前頁面使用者的ip位址
$_SERVER [ ' REMOTE_HOST ' ]正在瀏覽目前頁面使用者的主機名,反向網域解析基於該使用者的REMOTE_ADDR
$_SERVER [ ' REMOTE_PORT ' ] 使用者連接到伺服器所提供使用的連接埠
$_SERVER [ ' SCRIPT_FILENAME ' ] 目前執行腳本的絕對路徑名稱。
注意,如果腳本在CLI中被執行,作為相對路徑,如file.php或.../file.php,$_SERVER [ ' SCRIPT_FILENAME' ] 將包含使用者指定的相對路徑
$_SERVERVERVERVERVER [ ' SERVER_PORT ' ]伺服器所使用的端口,預設為80。如果使用SSL安全連接,則這個值為使用者設定的HTTP連接埠。
$_SERVER [ ' SERVER_SIGNATURE ' ] 包含伺服器版本和虛擬主機名稱的字串。
$_SERVER [ ' DOCUMENT_ROOT ' ]目前運行腳本所在的文檔根目錄。在伺服器設定檔中定義。
$_COOKIE 透過HTTPCookie傳遞到腳本的訊息,這些cookie多數是由執行php腳本時透過setcookie()函數設定的。
$_SESSION 包含與所有會話變數相關的資訊。 $_SESSION變數主要應用於會話控制和頁面之間值的傳遞。
$_POST 包含透過POST方法傳遞的參數的相關資訊。主要用於取得透過post方法提交的資料。
$_GET 包含透過GET方法傳遞的參數的相關資訊。主要用於取得透過GET方法提交的資料。
$GLOBALS 由所有已定義全域變數所組成的陣列。變數名就是該數組的索引。它可以稱得上是所有超級變數的超級集合。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。

PHP和Python各有優勢,選擇依據項目需求。 1.PHP適合web開發,尤其快速開發和維護網站。 2.Python適用於數據科學、機器學習和人工智能,語法簡潔,適合初學者。
