WEB的應用
當用戶端向伺服器的程式提出請求時,web伺服器根據請求響應對應的頁面,當頁面中含有PHP指令碼時,伺服器會交給PHP解譯器進行解釋執行,將產生的html代碼再回傳給用戶端,用戶端的瀏覽器解釋html代碼,最終形成網頁格式的頁面。
PHP能做什麼
PHP主要應用於三個領域:
PHP分析器,一個WEB伺服器器和一個WEB瀏覽器。
PHP文法結構
程式設計語言的詞法結構(lexical structure)是指管理如何用語言寫程式的基本規則的集合。
使用者自訂的函數名或類名都是不區分大小寫,變數區分大小寫。這就是說,$name 、$NAME 和$NaMe是三個不同的變數。
PHP用分號來分隔簡單的語句。
PHP注釋
PHP支援C、C++和Shell指令碼風格的注釋,如下:
// 單行注釋
/* */ 多行注釋 (注意:不能嵌套)
# 指令碼注釋
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
常量
常量是一個固定數值,用一個簡單的標識符進行定義,常量預設為大小寫敏感。
按照慣例常量標識符總是大寫的。
define()用這個函數來定義常量。
string(字串)常量分為:內建常量和自訂常量。
常數只能包含標量資料(boolean(布爾),integer(整形),float(浮點數))
內建常量:PHP系統提供的在任何頁面數值不會改變的常量
PHP_OS:顯示伺服器的作業系統版本
PHP_VERSION:顯示PHP版本
一些常見的系統常量
__FILE__:PHP檔案名稱,假如是引用檔案,則顯示引用檔案名稱
__LINE__:PHP檔案的行數
TRUE FALSE:表示真假的常量
E_ERROR:指明了代碼中最近的錯誤處
E_WARNING:指明了代碼中最近的警告處
E_PARSE:分析代碼何處有著潛在的問題
E_NOTICE:為發生不尋常但不一定是錯誤的地方
自訂常量
用define()來定義常量
define(“mycomputer”, “IBM”);
定義常量:mycomputer 常量的值為 IBM
defined(“mycomputer”);
檢測常量是否被定義,已定義返回1 否則返回空
變數
PHP 中一個貨幣符號($)後面跟上一個變數名稱,即表示一個變數。變數的名稱是對大小寫敏感的
< php
$var = ‘Bob';
$Var = ‘Joe';
echo “$var, $Var”; // 輸出 “Bob, Joe” 可以同時輸出兩個變數名
$4site = ‘not yet'; // 非法變數名;以數字開頭 變數不能以數字開頭
$_4site = ‘not yet'; // 合法變數名;以底線開頭 可以以底線開頭
$i網站is = ‘mansikka'; // 合法變數名; 可以用中文 但是不建議使用
isset($var) //檢查變數是否定義
unset($var) //刪除變數$var
empty($var) //判斷一個變數的值是否存在
echo $var //空
>
可變變數
一個可變變數擷取了一個普通變數的值作為這個可變變數的變數名
< php
$a = 'hello'; //普通變數
$$a = 'world'; //可變變數 可變變數用一個普通變數的值作為可變變數的名
echo "$a ${$a}"; //輸出:hello world
echo "$a $hello"; //輸出:hello world
>
常量和變數不同
常量前面沒有貨幣符號($);
常量只能用 define( ) 函數定義,而不能通過指派陳述式;
常量可以不用理會變數範圍的規則而在任何地方定義和訪問;
常量一旦定義就不能被重新定義或者取消定義;
常量的值只能是標量
資料類型
四種標量類型:
布爾型(boolean)
整型(integer)
浮點型(float)(浮點數,也作double)
字串(string)
兩種複合類型:
數組(array)
對象(object)
最後是兩種特殊類型:
資源(resource)
NULL 空
PHP是一種非常弱的類型語言。
在PHP中,變數的類型通常不是由程式員設定的,確切地說,是根據該變數使用的上下文在運行時(即變數的值)決定的。
執行個體:
< php
$bool = TRUE; // 布爾型
$str = “foo”; // 字串
$int = 12; // 整型
echo gettype($bool); // 輸出 boolean (gettype擷取變數的類型)
echo gettype($str); // 輸出 string
>
整型
整型值可以用十進位,十六進位或八進位符號指定,前面可以加上可選的符號(- 或者 +)。
< php
$a = 1234; // 十進位數
$a = -123; // 一個負數
$a = 0123; // 八位元(等於十進位的 83)
$a = 0x1a; // 十六進位數(等於十進位的 26)
>
浮點型
浮點數(也叫浮點數,雙精確度數或實數)可以用以下任何文法定義:
< php
$a = 1.234;
$a = 1.2e3;
$a = 7E-10;
>
字串
string是一系列字元。在 PHP 中,字元和位元組一樣,也就是說,一共有 256 種不同字元的可能性。這也暗示 PHP 對 Unicode 沒有本地支援。(關於字串類型後面專有一章詳細講解)
< php $str = “hello world!”; >
布爾型
這是最簡單的類型。boolean 表達了真值,可以為 TRUE 或 FALSE。
當其他類型轉換為 boolean類型 時,以下值被認為是FALSE:
布爾值 FALSE
整型值 0(零)
浮點型值 0.0(零)
空白字串和字串 "0"
沒有成員變數的數組
沒有單元的對象(僅適用於 PHP 4)
特殊類型 NULL(包括尚未設定的變數)
所有其它值都被認為是 TRUE(包括任何資源)。
數組
數組是PHP中的一種重要的資料類型。一個標量只能存放一個資料, 而數組可以存放多個資料。
$my=array(‘1',‘2',‘abc',‘d');
對象(Object)
對象是一種進階的資料類型以後會學
資源(Resource)
資源是由專門的函數來建立和使用的
類型強制轉換
PHP 中的類型強制轉換:在要轉換的變數之前加上用括弧括起來的目標類型。
允許的強制轉換有:
(int), (integer) - 轉換成整型
(bool), (boolean) – 轉換成布爾型
(float), (double), (real) - 轉換成浮點型
(string) - 轉換成字串
(array) - 轉換成數組
(object) – 轉換成對象
< php
$foo = 10; // $foo is an integer
$bar = (boolean) $foo; // $bar is a boolean
>