1. 程式人生 > >PHP 基礎篇一

PHP 基礎篇一

浮點數 語句 bsp 基礎篇 效率 ace 未定義 學習 分享圖片

1、PHP簡介與基礎語法

Ø PHP是“PHP:Hypertext Preprocessor”的縮寫,中文名:“超文本預處理器”,是一種嵌入到HTML中的服務器端的腳本語言。

Ø PHP主要適用於Web開發領域。

Ø PHP 可在不同的平臺上運行(Windows、Linux、Unix、Mac OS X 等)。

Ø PHP 與目前幾乎所有的正在被使用的服務器相兼容(Apache、IIS 等)。

Ø PHP 提供了廣泛的數據庫支持,支持所有的主流數據庫。

Ø PHP語法吸收了C、Java、Perl的特點,入門門檻較低,易於學習。

Ø PHP主要特點:簡單,高效,免費,豐富的函數庫和可擴展庫,多操作系統支持,多數據庫支持

Ø PHP最大的二大特點:混編與開發效率高成本低。混編,如果放在以前, 那麽只能說我們PHP了,在模板引擎沒問世的時代,大喊一聲。web開發還有誰?舍我其誰!!!不過遠古時代已過,我們不能停止自己的腳步還老是向後看,而不踏著腳步繼續向前,那麽我們也是在滅亡的邊緣徘徊!

1.1、PHP基本語法

Ø PHP腳本可以放在HTML文件的任何位置;

Ø PHP腳本以 “<?php”開始,以“?>” 結束,純PHP代碼文件,可以省略“?>”結束符。

Ø PHP文件的默認擴展名是 .php

Ø PHP 文件中可以包含:普通文本、HTML、CSS、JavaScript代碼和 PHP 代碼;

Ø PHP 代碼在服務器上執行,結果以純 HTML 形式返回給瀏覽器;

Ø PHP語言是區分大小寫的,但關鍵字函數不分區大小寫;

Ø PHP中每行代碼結束,必須以英文下的分號(;)結束;

Ø 訪問PHP文件名或路徑上,都不能含有中文;

Ø 訪問PHP文件,必須通過域名或IP地址才能訪問。

1.2、PHP語句結束符

Ø PHP語句必須以英文下的分號(;

)結束;

Ø PHP中的語法結構不需要結束符。如:for、while、do while、switch、foreach等。

Ø 單行PHP語句可以不寫結束符。如:<?php echo "hello" ?>

Ø PHP代碼的最後一行可以不寫結束符(不推薦)。

1.3、PHP註釋

Ø 單行註釋:// 或 #

Ø 多行註釋:/*註釋內容*/

Ø 註意:多行註釋不能相互嵌套,PHP註釋同樣不會在客戶端顯示。

2、PHP變量

2.1、變量基本語法

Ø 變量名稱只能包含字母數字下劃線

Ø 變量名必須是以美元符號($)開始,但 不是變量名的一部分,說明其後跟一個變量而已。如:?name

Ø 變量名必須要有意義。

Ø PHP變量名是區分大小寫的。

Ø PHP變量名開頭可以是字母或下劃線,但不能是數字。

Ø PHP中的關鍵字也可以作為變量名,但不推薦,例如:?break、?null

Ø PHP不需要事先聲明變量,使用時直接賦值即可,例如:$age = 20

Ø PHP為弱數據類型語言,在定義變量時不需要指定變量類型,根據所賦的值確定變量類型。

Ø PHP變量的數據類型在程序運行過程中可以動態改變。

2.2、判斷變量是否存在 isset()

Ø 描述:檢測變量是否設置。

Ø 語法:bool isset ( mixed ?... ] )

Ø 返回值:如果 $var 存在並且值不是 NULL 則返回 TRUE,否則返回 FALSE。

Ø 註意:isset()只能用於變量,因為傳遞任何其它參數都將造成解析錯誤。

2.3、判斷變量是否為空 empty()

Ø 描述:檢查一個變量是否為空。

Ø 語法:bool empty ( mixed $var )

Ø 返回值:如果 var 是非空或非零的值,則 empty() 返回 FALSE。換句話說,“”、0、0.0、“0”、NULL、FALSE、array()、未賦值變量,則返回 TRUE。

Ø 註意:empty() 只檢測變量,檢測任何非變量的東西都將導致解析錯誤。

2.4、銷毀變量 unset()

Ø 描述:釋放(銷毀)給定的變量。

Ø 語法:void unset ( mixed ?... ] )

Ø 提示:使用 unset() 銷毀一個變量後,變量的值將變成NULL。使用 isset() 測試的結果為false。

Ø 註意:刪除變量,只是刪除變量名,並且斷開到變量值之間的引用而已,而變量值還在,該變量值將變成垃圾,由系統自動進行回收處理。

PHP回收機制:腳本在運行完成後,系統會自動回收內存,這也是我們經常不關閉資源的所在點。

2.5、可變變量

Ø 描述:可變變量是指該變量的名稱由另外一個變量的值來確定。換句話,一個變量的變量名又是一個變量的情況

Ø 語法:$$var = $value

Ø 說明:可以給 賦值,也可以獲取?var 的值。

Ø 註意:可變變量在雙引號內輸出的方法“${$var}”。

$a = ‘b‘;
$b = ‘c‘;
$c = 100;
echo $$$a;//結果為100
解析:$a=$b,$$b = $c$c=100 

2.6、打印變量

Ø 描述:打印變量的相關信息;

Ø 語法:void var_dump ( mixed ?... ] )

Ø 說明:此函數顯示關於一個或多個表達式的結構信息,包括表達式的類型與值。若是數組將遞歸展開值,通過縮進顯示其結構。

3、PHP超全局數組變量

技術分享圖片

3.1、超全局數組變量與局部變量和全局變量的區別

Ø 局部變量:在函數內部聲明的變量,就是局部變量,當函數執行完畢,局部變量就消失了。局部變量,只能在函數內部使用。

Ø 全局變量:在函數外部聲明的變量,就是全局變量。在 PHP 中,全局變量,在函數中不能使用,網頁執行完畢,全局變量消失。

Ø 超全局數組變量:系統定義的變量,就是超全局變量。該變量可以在任何地方直接使用。

static靜態變量:

Ø 靜態變量是一個特殊的局部變量,他的特點是:靜態變量的值不會在函數調用結束時被銷毀,而是會一直保留。也就是說,當再次調用函數時,該變量(的值)還能繼續使用。

3.2、$_SERVER常用參數

常用參數含義
REQUEST_URI URL
PHP_SELF 正在執行腳本的文件名
SERVER_NAME 當前運行腳本所在服務器主機的名稱
HTTP_HOST 正在瀏覽當前頁面用戶的主機名
REMOTE_ADDR 正在瀏覽當前頁面用戶的 IP 地址
REQUEST_METHOD 訪問頁面時的請求方法
SERVER_NAME 當前腳本運行服務器的主機名
SERVER_ADDR 當前腳本所在的服務器IP

4、PHP變量的傳值方式

4.1、值傳遞

Ø 值傳遞又稱拷貝傳值:就是將一個變量的“”拷貝一份傳給另一個變量。此時兩個變量的值完全一樣,但兩個變量是相互獨立的,沒有任何聯系,修改其中一個變量的值,另一個變量值不會改變。

Ø 在PHP中,字符串型、整型、浮點型、布爾型、NULL、數組,默認使用的是拷貝傳值方式。

4.2、引用傳遞

Ø 引用傳遞,又稱“傳地址”,就是將一個變量的“數據地址”拷貝一份給另一個變量,兩個變量指向同一個數據,改變其中一個變量的值,另一個變量的值也將改變。

Ø 在PHP中,對象和資源,默認使用的是引用傳值方式。

Ø 如果想讓“值傳遞”的變量,變成“引用傳遞”,只需要在引用的變量前加 & 符號即可

Ø 提示:對於海量數據,引用傳遞要比值傳遞速度快很多。

Ø 最重要就是當 unset 一個引用,只是斷開了變量名和變量內容之間的綁定。這並不意味著變量內容被銷毀了。

5、PHP常量

5.1、常量的概念

Ø 常量就是值永遠不變的量,例如:圓周率、身份證號

Ø 常量一旦定義就無法更改或撤銷定義,常量無法刪除。

Ø 常量的值可以是:字符串型、整型、浮點型、布爾型、null、數組(PHP7新加);

Ø 常量的值不能是對象和資源;

註意:與變量不同,常量永遠是全局的,在腳本任何地方都可以訪問

5.2、常量的命令規則

Ø 常量的命名規則與變量一樣,只能包含字母、數字、下劃線。

Ø 常量名前不帶“$”符號。例如:DB_HOST、DB_USER、DB_PASS

Ø 常量名強烈建議全大寫,與變量區分開來。

Ø 語法格式:bool define ( string ?value [, bool $flag = false ] )

Ø 參數說明:1.必填參數常量的名稱,必填參數常量的值,可選填是否大小寫敏感默認是大小寫敏感!

5.3、判斷常量是否定義

Ø 描述:檢查某個名稱的常量是否存在

Ø 語法:bool defined ( string $name )

Ø 返回值:如果該名稱的常量已定義,返回 TRUE;未定義則返回 FALSE。

Ø 註意:defined()只能檢查常量,不能檢查變量或函數

5.4、預定義常量

預定義常量名含義
PHP_VERSION PHP版本號
PHP_OS PHP運行平臺
M_PI 圓周率
TRUE 是關鍵字,也是常量
FALSE Ø 是關鍵字,也是常量
PHP_INT_MAX 最大整數,即9223372036854775807(2^63-1)
PHP_INT_MIN 最小整數,即-9223372036854775808(-2^63)

Ø PHP的預定義常量大約有900多個,記住點常用就OK了當然,如果你想全部記住也是沒關系的(大神讓我舔下好嗎)

Ø獲取系統中的所有預定義常量:print_r(get_defined_constants(true));

5.5、魔法常量

Ø所謂“魔術常量”就是這些常量的值,會根據所在的位置而發生改變,即:形式是常量,但值可變。

魔法常量名含義
DIR 當前文件所在的目錄
FILE 當前文件絕對路徑
LINE 當前行號
FUNCTION 當前函數名稱
CLASS 當前類名稱
METHOD 當前方法名稱
NAMESPACE 當前空間名稱

6、PHP數據類型

6.1、數據類型分類

PHP變量本身沒有類型,變量類型取決變量值的類型。

PHP有8種數據類型,分為三類:

Ø 標量數據類型(4個):整型(integer)、浮點型(float、double)、布爾型(boolean)、字符串型(string)

Ø 復合數據類型(2個):數組(array)、對象(object)

Ø 特殊數據類型(2個):資源(resource)、空值(NULL)

6.2、判斷變量數據類型

函數含義
is_string() 檢測變量是否是字符串
is_bool() 檢測變量是不是布爾型
is_int() 檢測變量是不是整型
is_float() 檢測變量是不是浮點型
is_numeric() 檢測變量是否為數字或數字字符串,表單發送的都是字符串數據。
is_null() 檢測變量是否為 NULL
is_array() 檢測變量是否是數組
is_object() 檢測變量是否是一個對象
is_resource() 檢測變量是否為資源類型

6.3、數據類型的知識點集合

1、整型的表達式

Ø 整型數據類型可以是正數,也可以是負數,負數在數字前面加上“-”符號來表示;

Ø 10進制表示:$a = 100

Ø 8進制表示(以0開頭):$a = 0777

Ø 16進制表示(以0x開頭):$a = 0xFF9900

Ø 2進制表示(以0b開頭):$a = 11001100

Ø 在32位的操作系統中,整型的有效範圍是-2147483648到+2147483647(2^31-1)。

Ø 在64位的操作系統中,整型的有效範圍是-9223372036854775808到9223372036854775807(2^63-1)

Ø 超出範圍,解析為false

2、浮點數的表達式

Ø 浮點數也就是我們所說的小數,在PHP中我們對數值進行了細分:整型與浮點型,像在javascript中就沒有對數值進行細分,小數整數都是數值

Ø 在我們對浮點數進行比較時,不太精確,最好的做法就是把它轉換成整數再去比較

3、單引號與雙引號的區別

Ø 單引號只能輸出變量的名,而不能輸出變量的值,且單引號的轉移字符只有:\

Ø 雙引號能解析變量,且所有轉移字符都可以使用

Ø 還有個說法我也不知道對不對:單引號因為不需要解析變量,它的速度高於雙引號,而且推薦在PHP程序中使用單引號!!!(不對請糾正)

//定義一個雙引號長字符 註意:表示字符串的結束,必須放在行首,不能縮進,單獨一行,特殊字符不需要轉義!!!
$str = <<<php
//相當於雙引號的作用
php;
//定義一個單引號長字符 註意:跟在後面的標識符要用單引號括起來!!!
$str = <<<‘php‘
//相當於單引號
php;

4、空型

Ø 特殊的 NULL 值表示一個變量沒有值,NULL 類型唯一可能的值就是 NULL

Ø NULL 類型只有一個值,就是不區分大小寫的常量 NULL

如果有什麽不正確的地方,也請指正!

PHP 基礎篇一