第三章PHP基礎
(3.6——3.11)
3.6 變量
變量聲明
變量賦值:按值賦值/引用賦值
變量作用域:
局部變量:函數中聲明的變量,只能在函數中引用
函數參數:任何接受參數的函數都必須在函數首部聲明這些參數。雖然這些參數接受函數外部的值,但退出函數後就無法再訪問這些參數
參數實例//把一個值乘以10並返回給調用者 function x10 ($value){ $value = $value * 10; return $value; } //函數執行後參數就會被撤銷全局變量:(慎用)
在函數內部訪問時只需在變量前面加上關鍵字 global
另一種方法是使用PHP的$GLOBALS數組。 $GLOBALS[""];
靜態變量:
與聲明為函數參數的變量不同,函數參數在函數退出時會被撤銷,而靜態變量在函數退出時不會丟失值,並且還能保存這個值以便再次調用此函數時使用
在變量名前面加上關鍵字 STATIC 就可以聲明一個靜態變量
PHP的超級全局變量:
可以通過PHP的超級全局變量獲取關於當前用戶會話、用戶操作環境和本地操作環境等詳細信息
foreach ($_SERVER as $var => $value) { echo "$var => $value <br />"; } //例如顯示用戶IP地址: printf("Your IP address is: %s",$_SERVER['REMOTE_ADDR']); //還可以獲得關於用戶浏覽器和操作系統的信息: printf("Your browser is: %s",$_SERVER[‘HTTP_USER-AGENT']); 給出與給定Web服務器和腳本執行環境有關的所有預定義變量代碼用GET方法獲取傳遞的變量
用POST方法獲取傳遞的變量
獲取存儲在cookie中的信息:
$_COOKIE超級全局變量存儲了通過HTTP cookie傳遞到腳本的信息
這些cookie一般是由以前執行的PHP腳本通過PHP函數setcookie()設置的
用POST方法獲取關於上傳文件的信息
$_FILES超級全局變量包括通過POST方法向服務器上傳的數據有關的信息
$_FILES是一個二維數組,包含5個元素:
$_FILES['upload-name']['name']。從客戶端向服務器上傳文件的文件名
$_FILES['upload-name']['type']。上傳文件的MIME類型。這個變量是否被賦值取決於浏覽器的功能
$_FILES['upload-name']['size']。上傳文件的大小(以字節為單位)
$_FILES['upload-name']['tmp_name']。上傳之後,將此文件移到最終位置之前賦予的臨時名
$_FILES['upload-name']['error']。上傳狀態碼。5個可能的值:
UPLOAD_ERR_OK。文件上傳成功
UPLOAD_ERR_INI_SIZE。文件大小超出了upload_max_filesize指令所制定的最大值
UPLOAD_ERR_FORM_SIZE。文件大小超出了MAX_FILE_SIZE隱藏表單域參數(可選)指定的最大值
UPLOAD_ERR_PARTIAL。文件只上傳了一部分
UPLOAD_NO_FILES。文件表單中沒有指定文件
更多關於操作系統環境的內容:
$_ENV 超級全局變量提供PHP解析器所在服務器環境的有關信息
$_ENV['HOSTNAME']。服務器主機名
$_ENV['SHELL']。系統shell
獲取存儲在會話裡的信息:$_SESSION 超級全局變量包含與所有會話變量有關的信息
變量的變量:原變量名前加上一個美元符,再為它賦另一個值
3.7 常量
常量指在程序中無法修改的值
define()函數通過給一個變量名賦值來定義一個常量,其形式如下:
boolean define(string name,mixed value [,bol case_insensitive])
如果使用可選參數case_insensitive,並且這個參數的值是 TRUE,那麼後面對此常量的引用將不區分大小寫
常量前不需要使用美元符
一旦定義便不能重新定義或取消已定義的常量。
3.8 表達式
操作數(operand):操作數是表達式的輸入
操作符(operator):操作符是表達式中指定某個動作的符號
操作符列表
操作符優先級
操作符結合性
算數操作符:"+"、"-"、"*"、"/"、"%"
賦值操作符:"="、"+="、"*="、"/="、".="
字符串操作符: "="、".="
自增和自減操作符:"++"、"--"
根據自增和自減操作符放置位置分前自增運算、前自減運算、後自增運算、後自減運算
邏輯操作符:"&&"、"AND"、"||"、"OR"、"!"、"NOT"、"XOR"
相等操作符:"=="、"!="、"==="
比較操作符:"<"、">"、"<="、">="、"($a == 12) ? 5 : -1"(如果$a等於12,返回值5;否則返回值-1)
位操作符:"&"、"|"、"^"(異或。$a或$b包含的每一位相異或)、"~ $b"(非。$b中的每一位相反)、"$a<<$b"(左移。把$a的位左移$b步)、">>"(右移)
3.9 字符串插入
雙引號
轉義序列: 描述
\n 換行符
\r 回車
\t 水平制表符
\\ 反斜槓
\$ 美元符
單引號
大括號
heredoc語法:
<?php echo <<<EXCERPT <p>博客園首頁(即網站首頁)只能發布原創的、高質量的、能讓讀者從中學到東西的內容。</p> EXCERPT; ?> //開始和結束標識符必須相同。這裡的開始和結束標識符是EXCERPT,也可以自定義 //開始和結束標識符只能由字母數字字符和下劃線組成,而且不能以數字或下劃線開頭 //開始標識符前面必須有3個尖括號:<<< //結束標識符必須在一行開始處,前面不能有任何空格或其它多余字符 //開始和結束標識符後面的任何空格都會造成語法錯誤 heredoc實例Nowdoc語法
3.10 控制結構
條件語句(各語句語法省略)
if語句
else語句
elseif語句
switch語句
循環語句(各語句語法省略)
while語句
do……while語句
for語句
foreach語句
break語句和goto語句
continue語句
文件包含語句
include()
include()或include ""
形式:include(/path/to/filename)
確保只包含文件一次:include_once()
請求文件:require()
require()出錯時,腳本將停止執行。include()在此情況下將繼續執行
確保只請求文件一次:require_once()
3.11 小結
要成為成功的PHP程序員,這一章所打下的基礎有著非凡的意義!