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
>