PHP程序設(shè)計(jì)(慕課版)(程文彬 李樹(shù)強(qiáng))全套教案課件_第1頁(yè)
PHP程序設(shè)計(jì)(慕課版)(程文彬 李樹(shù)強(qiáng))全套教案課件_第2頁(yè)
PHP程序設(shè)計(jì)(慕課版)(程文彬 李樹(shù)強(qiáng))全套教案課件_第3頁(yè)
PHP程序設(shè)計(jì)(慕課版)(程文彬 李樹(shù)強(qiáng))全套教案課件_第4頁(yè)
PHP程序設(shè)計(jì)(慕課版)(程文彬 李樹(shù)強(qiáng))全套教案課件_第5頁(yè)
已閱讀5頁(yè),還剩500頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

PHP程序設(shè)計(jì)(慕課版)(程文彬李樹(shù)強(qiáng))第1章PHP入門(mén)與環(huán)境搭建.ppt第2章PHP開(kāi)發(fā)基礎(chǔ).ppt第3章運(yùn)算符和表達(dá)式.ppt第4章流程控制語(yǔ)句.ppt第5章PHP數(shù)組.ppt第6章PHP與Web頁(yè)面交互.ppt第7章函數(shù).ppt第8章字符串操作.ppt第9章MySQL數(shù)據(jù)庫(kù).ppt第10章PHP操作MySQL數(shù)據(jù)庫(kù).ppt第11章PHP會(huì)話控制.ppt第12章面向?qū)ο蠡A(chǔ).ppt第13章Ajax技術(shù).ppt第14章綜合案例——電子商務(wù)平臺(tái)網(wǎng).ppt第15章課程設(shè)計(jì)——留言本.ppt全套可編輯PPT幻燈片課件(共15章)第1章PHP入門(mén)與環(huán)境搭建01PHP概述

02PHP程序的工作流程

03PHP開(kāi)發(fā)環(huán)境構(gòu)建04常用代碼編輯工具

05第一個(gè)PHP程序

1

PHP概述PHP是什么PHP是HypertextPreprocessor(超文本預(yù)處理器)的縮寫(xiě),是一種服務(wù)器端、跨平臺(tái)、HTML嵌入式的腳本語(yǔ)言。其獨(dú)特的語(yǔ)法混合了C語(yǔ)言、Java語(yǔ)言和Perl語(yǔ)言的特點(diǎn),是一種被廣泛應(yīng)用的開(kāi)源的多用途腳本語(yǔ)言,尤其適合Web開(kāi)發(fā)。速度快PHP語(yǔ)言的優(yōu)勢(shì)支持面向?qū)ο髮?shí)用性支持廣泛的數(shù)據(jù)庫(kù)成本低版本更新速度快模板化應(yīng)用范圍廣可選擇性PHP4

PHP的版本PHP5

PHP6

HTML嵌入式的腳本語(yǔ)言PHP程序代碼是嵌入在HTML文件中的。輸出一行文字:<br/><?phpecho"你好PHP";?>(1)“<?php”和“?>”分別是PHP的開(kāi)始標(biāo)記和結(jié)束標(biāo)記。(2)PHP程序文件的擴(kuò)展名通常使用“.php”。說(shuō)明2

PHP程序的工作流程

主要內(nèi)容

PHP服務(wù)器

PHP的工作流程0102

PHP預(yù)處理器的功能是解釋PHP代碼,它主要是將PHP程序代碼解釋為文本信息,而且這些文本信息中也可以包含HTML代碼。

PHP服務(wù)器

PHP預(yù)處理器PHP服務(wù)器WEB服務(wù)器也稱為WWW(WorldWideWeb)服務(wù)器,它的功能是解析HTTP。當(dāng)WEB瀏覽器向WEB服務(wù)器發(fā)送一個(gè)HTTP請(qǐng)求時(shí),PHP預(yù)處理器會(huì)對(duì)該請(qǐng)求對(duì)應(yīng)的程序進(jìn)行解釋并執(zhí)行,然后WEB服務(wù)器會(huì)向?yàn)g覽器返回一個(gè)HTTP響應(yīng),該響應(yīng)通常是一個(gè)HTML頁(yè)面,以便讓用戶可以瀏覽。目前可用的WEB服務(wù)器有很多,常見(jiàn)的有開(kāi)源的Apache服務(wù)器、微軟的IIS服務(wù)器、Tomcat服務(wù)器等。本書(shū)使用的是Apache服務(wù)器,由于Apache具有高效、穩(wěn)定、安全、免費(fèi)等一些特點(diǎn),它已經(jīng)成為目前最為流行的WEB服務(wù)器。

Web服務(wù)器PHP服務(wù)器數(shù)據(jù)庫(kù)服務(wù)器是用于提供數(shù)據(jù)查詢和數(shù)據(jù)管理服務(wù)的軟件,這些服務(wù)主要有數(shù)據(jù)查詢、數(shù)據(jù)管理(數(shù)據(jù)的添加、修改、刪除)、查詢優(yōu)化、事務(wù)管理、數(shù)據(jù)安全等服務(wù)。數(shù)據(jù)庫(kù)服務(wù)器有好多種,常見(jiàn)的有MySQL、Oracle、SQLServer、DB2、Sybase、Access等。本書(shū)使用的是MySQL數(shù)據(jù)庫(kù),由于MySQL具有功能性強(qiáng)、使用簡(jiǎn)捷、管理方便、運(yùn)行速度快、版本升級(jí)快、安全性高等優(yōu)點(diǎn),而且MySQL數(shù)據(jù)庫(kù)完全免費(fèi),因此許多中小型網(wǎng)站都選擇MySQL作為數(shù)據(jù)庫(kù)服務(wù)器。數(shù)據(jù)庫(kù)服務(wù)器PHP的工作流程3PHP開(kāi)發(fā)環(huán)境構(gòu)建主要內(nèi)容

PHP開(kāi)發(fā)環(huán)境的安裝

PHP服務(wù)器的啟動(dòng)與停止

PHP開(kāi)發(fā)環(huán)境的關(guān)鍵配置010203PHP開(kāi)發(fā)環(huán)境的安裝安裝前的準(zhǔn)備工作WampServer的安裝安裝WampServer之前應(yīng)從其官方網(wǎng)站上下載安裝程序。下載地址為/en/download.php,目前比較新的WampServer版本是WampServer2.5。PHP服務(wù)器的啟動(dòng)與停止

手動(dòng)啟動(dòng)和停止PHP服務(wù)器通過(guò)操作系統(tǒng)自動(dòng)啟動(dòng)PHP服務(wù)PHP開(kāi)發(fā)環(huán)境的關(guān)鍵配置設(shè)置Apache服務(wù)器主目錄

修改Apache服務(wù)端口號(hào)

設(shè)置網(wǎng)站起始頁(yè)面

PHP的其他常用配置為MySQL服務(wù)器root賬戶設(shè)置密碼4常用代碼編輯工具主要內(nèi)容

Dreamweaver

Eclipse

ZendStudio010203

PHPEdit04DreamweaverDreamweaver是一款專業(yè)的網(wǎng)站開(kāi)發(fā)編輯器。它將可視布局工具、應(yīng)用程序開(kāi)發(fā)功能和代碼編輯支持組合在一起。Dreamweaver從MX版本開(kāi)始支持PHP+MySQL的可視化開(kāi)發(fā)。所包含的特征包括:語(yǔ)法加亮、函數(shù)補(bǔ)全,形參提示、全局查找替換、處理Flash和圖像編輯等。下載地址:/downloads/。

目前,Dreamweaver官方網(wǎng)站上發(fā)布的最新版本是DreamweaverCS6,本書(shū)所介紹的網(wǎng)頁(yè)和實(shí)例都是使用DreamweaverCS6編輯的。說(shuō)明Eclipse

Eclipse是一款支持各種應(yīng)用程序開(kāi)發(fā)工具的編輯器,為程序設(shè)計(jì)師提供了許多強(qiáng)悍的功能。它支持多語(yǔ)言的關(guān)鍵字和語(yǔ)法加亮顯示,支持查詢結(jié)果匹配部分在編輯器中的加亮顯示,支持代碼格式化功能,還具備強(qiáng)大的調(diào)試功能,可以設(shè)置斷點(diǎn),使用單步執(zhí)行方法執(zhí)行源代碼。官方網(wǎng)站:。

ZendStudio

ZendStudio是目前公認(rèn)的最強(qiáng)大的PHP開(kāi)發(fā)工具,具備功能強(qiáng)大的專業(yè)編輯工具和調(diào)試工具,包括編輯、調(diào)試、配置PHP程序所需要的客戶及服務(wù)器組件,支持PHP語(yǔ)法加亮顯示,尤其是功能齊全的調(diào)試功能,讓PHP錯(cuò)誤不再可怕。ZendStudio是一款收費(fèi)軟件,不過(guò)可以免費(fèi)下載試用版。下載地址:/store/products/zend-studio.php。PHPEdit

PHPEdit是一款Windows操作系統(tǒng)下優(yōu)秀的PHP腳本IDE(集成開(kāi)發(fā)環(huán)境)。該軟件為快速、便捷地開(kāi)發(fā)PHP腳本提供了多種工具,其功能包括:語(yǔ)法關(guān)鍵詞高亮;代碼提示、瀏覽;集成PHP調(diào)試工具;幫助生成器;自定義快捷方式;150多個(gè)腳本命令;鍵盤(pán)模板;報(bào)告生成器;快速標(biāo)記;插件等。官方網(wǎng)站:。5第一個(gè)PHP程序例1-1編寫(xiě)第一個(gè)PHP程序的目的是熟悉PHP的書(shū)寫(xiě)規(guī)則和DreamweaverCS6工具的基本使用方法。在本實(shí)例中應(yīng)用DreamweaverCS6開(kāi)發(fā)一個(gè)最簡(jiǎn)單的PHP程序,輸出一段歡迎信息。小結(jié)本章重點(diǎn)講述了什么是PHP、PHP的工作流程,并詳細(xì)介紹了通過(guò)WampServer來(lái)構(gòu)建PHP程序的運(yùn)行環(huán)境,通過(guò)這些內(nèi)容使讀者對(duì)PHP有一個(gè)全面的認(rèn)識(shí)。第2章PHP開(kāi)發(fā)基礎(chǔ)01PHP基本語(yǔ)法

02PHP的數(shù)據(jù)類型

03PHP數(shù)據(jù)的輸出04PHP編碼規(guī)范

05第一個(gè)PHP程序

1

PHP基本語(yǔ)法主要內(nèi)容

PHP標(biāo)記符PHP注釋PHP語(yǔ)句和語(yǔ)句塊010203PHP標(biāo)記符PHP標(biāo)記符能夠讓W(xué)eb服務(wù)器識(shí)別PHP代碼的開(kāi)始和結(jié)束,兩個(gè)標(biāo)記之間的所有文本都會(huì)被解釋為PHP代碼,而標(biāo)記之外的任何文本都會(huì)被認(rèn)為是普通的HTML,這就是PHP標(biāo)記的作用。PHP一共支持4種標(biāo)記風(fēng)格。

XML風(fēng)格

腳本風(fēng)格

簡(jiǎn)短風(fēng)格010203

ASP風(fēng)格04XML風(fēng)格<?phpecho"這是標(biāo)準(zhǔn)風(fēng)格的標(biāo)記";?>腳本風(fēng)格<scriptlanguage="php">echo'這是腳本風(fēng)格的標(biāo)記';</script>簡(jiǎn)短風(fēng)格<?echo"這是簡(jiǎn)短風(fēng)格的標(biāo)記";?>ASP風(fēng)格<%echo"這是ASP風(fēng)格的標(biāo)記";%>PHP注釋注釋可以理解為代碼的解釋說(shuō)明,一般添加到代碼的上方或代碼的尾部。使用注釋不僅能夠提高程序的可讀性,而且還有利于程序的后期維護(hù)工作。在執(zhí)行代碼時(shí),注釋部分會(huì)被解釋器忽略,因此注釋不會(huì)影響到程序的執(zhí)行。PHP支持以下3種風(fēng)格的程序注釋:

單行注釋(//)

多行注釋(/*…*/)

Shell風(fēng)格的注釋(#)010203單行注釋(//)<?phpecho'PHP編程詞典'; //輸出字符串(但單行標(biāo)記后的注釋內(nèi)容不被輸出)?>多行注釋(/*…*/)<?php/*多行注釋內(nèi)容不被輸出*/echo'只會(huì)看到這句話。';?>Shell風(fēng)格的注釋(#)<?phpecho'這是Shell腳本風(fēng)格的注釋'; #這里的內(nèi)容是看不到的?>PHP語(yǔ)句和語(yǔ)句塊PHP程序由一條或多條PHP語(yǔ)句構(gòu)成,每條語(yǔ)句都以英文分號(hào)“;”結(jié)束。如果多條PHP語(yǔ)句之間存在著某種聯(lián)系,可以使用“{”和“}”將這些PHP語(yǔ)句包含起來(lái)形成一個(gè)語(yǔ)句塊。<?php{echo"你好PHP";echo"<br/>";echodate("Y-m-dH:i:s");}?>語(yǔ)句塊一般不會(huì)單獨(dú)使用,只有在和條件判斷語(yǔ)句、循環(huán)語(yǔ)句、函數(shù)等一起使用時(shí),語(yǔ)句塊才會(huì)有意義。2

PHP的數(shù)據(jù)類型

主要內(nèi)容

標(biāo)量數(shù)據(jù)類型

復(fù)合數(shù)據(jù)類型

特殊數(shù)據(jù)類型

檢測(cè)數(shù)據(jù)類型01020304

標(biāo)量數(shù)據(jù)類型是數(shù)據(jù)結(jié)構(gòu)中最基本的單元,只能存儲(chǔ)一個(gè)數(shù)據(jù)。PHP中標(biāo)量數(shù)據(jù)類型包括四種。

標(biāo)量數(shù)據(jù)類型類型說(shuō)明boolean(布爾型)這是最簡(jiǎn)單的類型。只有兩個(gè)值,真值(true)和假值(false)string(字符串型)字符串就是連續(xù)的字符序列,可以是計(jì)算機(jī)能表示的一切字符的集合integer(整型)整型數(shù)據(jù)類型只能包含整數(shù)。可以是正整數(shù)或負(fù)整數(shù)float(浮點(diǎn)型)浮點(diǎn)數(shù)據(jù)類型用來(lái)存儲(chǔ)數(shù)字,和整型不同的是它有小數(shù)位布爾型(boolean)布爾型是PHP中較為常用的數(shù)據(jù)類型之一。它保存一個(gè)真值true或者假值false。設(shè)定一個(gè)布爾型的變量,只需將true或者false賦值給變量即可。字符串型(string)字符串是連續(xù)的字符序列,由數(shù)字、字母和符號(hào)組成。字符串中的每個(gè)字符只占用一字節(jié)。定義字符串有三種方式:?jiǎn)我?hào)(')雙引號(hào)(")定界符(<<<)$a='string1';$a="string2";$string=<<<str要輸出的字符串str整型(integer)整型數(shù)據(jù)類型只能包含整數(shù)。在32位的操作系統(tǒng)中,有效的范圍是?2147483648~+2147483647。整型數(shù)可以用十進(jìn)制、八進(jìn)制和十六進(jìn)制來(lái)表示。如果用八進(jìn)制,數(shù)字前面必須加0,如果用十六進(jìn)制,則需要加0x。浮點(diǎn)型(float)浮點(diǎn)數(shù)據(jù)類型可以用來(lái)存儲(chǔ)整數(shù),也可以保存小數(shù)。它提供的精度比整數(shù)大得多。浮點(diǎn)型數(shù)據(jù)默認(rèn)有兩種書(shū)寫(xiě)格式:標(biāo)準(zhǔn)格式科學(xué)記數(shù)法格式3.141590.365?91.83.62E1859.63E?3復(fù)合數(shù)據(jù)類型復(fù)合數(shù)據(jù)類型將多個(gè)簡(jiǎn)單數(shù)據(jù)類型組合在一起,存儲(chǔ)在一個(gè)變量名中,包括兩種(數(shù)組和對(duì)象)。數(shù)組(array)對(duì)象(object)特殊數(shù)據(jù)類型特殊數(shù)據(jù)類型包括兩種(資源和空值)。資源(resource)空值(null)資源是由專門(mén)的函數(shù)來(lái)建立和使用的。它是一種特殊的數(shù)據(jù)類型,并由程序員分配。在使用資源時(shí),要及時(shí)地釋放不需要的資源。如果忘記了釋放資源,系統(tǒng)會(huì)自動(dòng)啟用垃圾回收機(jī)制,避免內(nèi)存消耗殆盡。空值,表示沒(méi)有為該變量設(shè)置任何值,另外,空值(null)不區(qū)分大小寫(xiě),null和NULL效果是一樣的。檢測(cè)數(shù)據(jù)類型PHP還內(nèi)置了檢測(cè)數(shù)據(jù)類型的系列函數(shù),可以對(duì)不同類型的數(shù)據(jù)進(jìn)行檢測(cè),判斷其是否屬于某個(gè)類型。函數(shù)檢測(cè)類型is_bool檢測(cè)變量是否為布爾類型is_string檢測(cè)變量是否為字符串類型is_float/is_double檢測(cè)變量是否為浮點(diǎn)類型is_integer/is_int檢測(cè)變量是否為整數(shù)is_null檢測(cè)變量是否為nullis_array檢測(cè)變量是否為數(shù)組類型is_object檢測(cè)變量是否為一個(gè)對(duì)象類型is_numeric檢測(cè)變量是否為數(shù)字或由數(shù)字組成的字符串3PHP數(shù)據(jù)的輸出主要內(nèi)容

print和echo

輸出運(yùn)算符“<?=?>”0102print和echo

print語(yǔ)句和echo語(yǔ)句的作用非常相似,都用于向頁(yè)面中輸出數(shù)據(jù)。print"輸出當(dāng)前的日期和時(shí)間:";echodate("Y-m-dH:i:s");

print語(yǔ)句和echo語(yǔ)句的區(qū)別如下:(1)使用print語(yǔ)句一次只能輸出一個(gè)字符串,而使用echo語(yǔ)句可以同時(shí)輸出多個(gè)字符串,多個(gè)字符串之間用逗號(hào)隔開(kāi)。(2)在echo語(yǔ)句前不能使用錯(cuò)誤屏蔽運(yùn)算符“@”。(3)print語(yǔ)句可以看作是一個(gè)有返回值的函數(shù),因此print語(yǔ)句能作為表達(dá)式的一部分,而echo語(yǔ)句不能。輸出運(yùn)算符“<?=?>”

如果需要在HTML代碼中只嵌入一條PHP輸出語(yǔ)句,可以使用PHP提供的另一種便捷的方法:使用輸出運(yùn)算符“<?=?>”來(lái)輸出數(shù)據(jù)。<bodybgcolor="<?='blue'?>"></body>4PHP編碼規(guī)范主要內(nèi)容

什么是編碼規(guī)范

PHP書(shū)寫(xiě)規(guī)則

PHP命名規(guī)則010203什么是編碼規(guī)范以PHP開(kāi)發(fā)為例,編碼規(guī)范就是融合了開(kāi)發(fā)人員長(zhǎng)時(shí)間積累下來(lái)的經(jīng)驗(yàn),形成了一種良好統(tǒng)一的編程風(fēng)格,這種良好統(tǒng)一的編程風(fēng)格會(huì)在團(tuán)隊(duì)開(kāi)發(fā)或二次開(kāi)發(fā)時(shí)起到事半功倍的效果。編碼規(guī)范是一種總結(jié)性的說(shuō)明和介紹,并不是強(qiáng)制性的規(guī)則。從項(xiàng)目長(zhǎng)遠(yuǎn)的發(fā)展以及團(tuán)隊(duì)效率來(lái)考慮,遵守編碼規(guī)范是十分必要的。

PHP書(shū)寫(xiě)規(guī)則縮進(jìn)大括號(hào){}關(guān)鍵字、小括號(hào)、函數(shù)、運(yùn)算符PHP命名規(guī)則類命名常量命名變量命名數(shù)組命名函數(shù)命名類文件命名小結(jié)

本章主要介紹了PHP語(yǔ)言的基本語(yǔ)法、數(shù)據(jù)類型以及編碼規(guī)范。熟練掌握PHP的基本語(yǔ)法是學(xué)習(xí)PHP語(yǔ)言的第一步,通過(guò)本章的學(xué)習(xí),讀者可以從整體上對(duì)PHP的組成部分有一個(gè)清楚的認(rèn)識(shí)。第3章運(yùn)算符和表達(dá)式01常量

02變量

03PHP運(yùn)算符04表達(dá)式

05數(shù)據(jù)類型的轉(zhuǎn)換

1

常量主要內(nèi)容

自定義常量

預(yù)定義常量0102自定義常量

使用defined()函數(shù)判斷常量是否已經(jīng)被定義

使用define()函數(shù)聲明常量

使用constant()函數(shù)獲取常量的值使用define()函數(shù)聲明常量define(stringconstant_name,mixedvalue,case_sensitive=true)語(yǔ)法參數(shù)說(shuō)明constant_name必選參數(shù),常量名稱,即標(biāo)志符value必選參數(shù),常量的值case_sensitive可選參數(shù),指定是否大小寫(xiě)敏感,設(shè)定為T(mén)rue,表示不敏感使用constant()函數(shù)獲取常量的值mixedconstant(stringconst_name)語(yǔ)法使用defined()函數(shù)判斷常量是否已經(jīng)被定義booldefined(stringconstant_name)語(yǔ)法預(yù)定義常量常量名功能__FILE__默認(rèn)常量,PHP程序文件名__LINE__默認(rèn)常量,PHP程序行數(shù)PHP_VERSION內(nèi)建常量,PHP程序的版本,如“3.0.8_dev”P(pán)HP_OS內(nèi)建常量,執(zhí)行PHP解析器的操作系統(tǒng)名稱,如“Windows”TRUE這個(gè)常量是一個(gè)真值(True)FALSE這個(gè)常量是一個(gè)假值(False)NULL一個(gè)null值E_ERROR這個(gè)常量指到最近的錯(cuò)誤處E_WARNING這個(gè)常量指到最近的警告處E_PARSE這個(gè)常量指解析語(yǔ)法有潛在問(wèn)題處E_NOTICE這個(gè)常量為發(fā)生不尋常,但不一定是錯(cuò)誤處2

變量

主要內(nèi)容

變量的概念

定義和使用變量

變量的賦值方式010203

可變變量04

PHP預(yù)定義變量05

其值可以改變的量稱為變量。變量為開(kāi)發(fā)人員提供了一個(gè)有名字的內(nèi)存存儲(chǔ)區(qū),程序中可以通過(guò)變量名對(duì)內(nèi)存存儲(chǔ)區(qū)進(jìn)行讀、寫(xiě)操作。為了確定每個(gè)變量?jī)?nèi)存存儲(chǔ)區(qū)的大小,存儲(chǔ)區(qū)中可以存放數(shù)據(jù)范圍,以及變量可以使用的運(yùn)算符。系統(tǒng)為程序中的每一個(gè)變量分配一個(gè)存儲(chǔ)單元,變量名實(shí)質(zhì)上就是計(jì)算機(jī)內(nèi)存單元的命名。因此,借助變量名就可以訪問(wèn)內(nèi)存中的數(shù)據(jù)。

變量的概念定義和使用變量

PHP中的變量名稱用$和標(biāo)識(shí)符表示,變量名是區(qū)分大小寫(xiě)的。聲明的變量不可以與已有的變量重名,否則將引起沖突。變量的名稱應(yīng)采用能反映變量含義的名稱,以利于提高程序的可讀性。如$book_name,$user_age,$shop_price等,必要時(shí),也可以將變量的類型包含在變量名中,如$book_id_int,這樣可以直接根據(jù)變量名稱了解變量的類型。在程序中使用變量前,需要為變量賦值。變量的賦值是通過(guò)使用賦值運(yùn)算符“=”實(shí)現(xiàn)的。在定義變量時(shí)也可以直接為變量賦值,此時(shí)稱之為變量的初始化。<?php

$n_sum=100;

$str1=false;

$str2="";?>變量的賦值方式

直接賦值<?php$name="mingri";$number=30;echo$name;echo$number;?><?php$str1="PHP編程詞典"; $str2=$str1;$str1="我喜歡學(xué)PHP";echo$str2; ?>傳值賦值<?php$str="學(xué)習(xí)PHP很輕松"; $str2=&$str;$str="我要大聲的告訴你:$str";echo$str2; echo"<p>"; echo$str; ?>引用賦值可變變量

可變變量是一種獨(dú)特的變量,變量的名稱并不是預(yù)先定義好的,而是動(dòng)態(tài)地設(shè)置和使用。可變變量一般是指使用一個(gè)變量的值作為另一個(gè)變量的名稱,所以可變變量又稱為變量的變量。可變變量通過(guò)在一個(gè)變量名稱前使用兩個(gè)“$”符號(hào)實(shí)現(xiàn)。<?php$change_name="php";$php="編程的關(guān)鍵因素在于學(xué)好語(yǔ)言基礎(chǔ)!";echo$change_name;echo$$change_name;?>PHP預(yù)定義變量

PHP還提供了很多非常實(shí)用的預(yù)定義變量,通過(guò)這些預(yù)定義變量可以獲取到用戶會(huì)話、用戶操作系統(tǒng)的環(huán)境和本地操作系統(tǒng)的環(huán)境等信息。變量的名稱說(shuō)明$_SERVER['SERVER_ADDR']當(dāng)前運(yùn)行腳本所在的服務(wù)器的IP地址$_SERVER['SERVER_NAME']當(dāng)前運(yùn)行腳本所在服務(wù)器主機(jī)的名稱。如果該腳本運(yùn)行在一個(gè)虛擬主機(jī)上,則該名稱是由虛擬主機(jī)所設(shè)置的值決定$_SERVER['REQUEST_METHOD']訪問(wèn)頁(yè)面時(shí)的請(qǐng)求方法。如GET、HEAD、POST、PUT等,如果請(qǐng)求的方式是HEAD,PHP腳本將在送出頭信息后中止(這意味著在產(chǎn)生任何輸出后,不再有輸出緩沖)$_SERVER['REMOTE_ADDR']正在瀏覽當(dāng)前頁(yè)面用戶的IP地址$_SERVER['REMOTE_HOST']正在瀏覽當(dāng)前頁(yè)面用戶的主機(jī)名。反向域名解析基于該用戶的REMOTE_ADDR$_SERVER['REMOTE_PORT']用戶連接到服務(wù)器時(shí)所使用的端口$_SERVER['SCRIPT_FILENAME']當(dāng)前執(zhí)行腳本的絕對(duì)路徑名。注意:如果腳本在CLI中被執(zhí)行,作為相對(duì)路徑,如file.php或者.../file.php,$_SERVER['SCRIPT_FILENAME']將包含用戶指定的相對(duì)路徑PHP預(yù)定義變量變量的名稱說(shuō)明$_SERVER['SERVER_PORT']服務(wù)器所使用的端口,默認(rèn)為80。如果使用SSL安全連接,則這個(gè)值為用戶設(shè)置的HTTP端口$_SERVER['SERVER_SIGNATURE']包含服務(wù)器版本和虛擬主機(jī)名的字符串$_SERVER['DOCUMENT_ROOT']當(dāng)前運(yùn)行腳本所在的文檔根目錄。在服務(wù)器配置文件中定義$_COOKIE通過(guò)HTTPCookie傳遞到腳本的信息。這些cookie多數(shù)是由執(zhí)行PHP腳本時(shí)通過(guò)setcookie()函數(shù)設(shè)置的$_SESSION包含與所有會(huì)話變量有關(guān)的信息。$_SESSION變量主要應(yīng)用于會(huì)話控制和頁(yè)面之間值的傳遞$_POST包含通過(guò)POST方法傳遞的參數(shù)的相關(guān)信息。主要用于獲取通過(guò)POST方法提交的數(shù)據(jù)$_GET包含通過(guò)GET方法傳遞的參數(shù)的相關(guān)信息。主要用于獲取通過(guò)GET方法提交的數(shù)據(jù)$GLOBALS由所有已定義全局變量組成的數(shù)組。變量名就是該數(shù)組的索引。它可以稱得上是所有超級(jí)變量的超級(jí)集合3PHP運(yùn)算符主要內(nèi)容

算術(shù)運(yùn)算符

字符串運(yùn)算符

賦值運(yùn)算符010203

位運(yùn)算符04

遞增或遞減運(yùn)算符

邏輯運(yùn)算符

比較運(yùn)算符050607

條件運(yùn)算符08

運(yùn)算符優(yōu)先級(jí)09算術(shù)運(yùn)算符名稱操作符實(shí)例加法運(yùn)算+$a+$b減法運(yùn)算-$a-$b乘法運(yùn)算*$a*$b除法運(yùn)算/$a/$b取余數(shù)運(yùn)算%$a%$b字符串運(yùn)算符

字符串運(yùn)算符只有一個(gè),即英文的句號(hào)“.”。它將兩個(gè)或多個(gè)字符串連接起來(lái),結(jié)合到一起形成一個(gè)新的字符串。而PHP中的“+”號(hào)只做賦值運(yùn)算符使用,而不能做字符串運(yùn)算符。<?php $m="520abc";$n=1;$mn=$m.$n;echo$mn."<br>";$nm=$m+$n;echo$nm."<br>";?>賦值運(yùn)算符操作符號(hào)實(shí)例展開(kāi)形式意義賦值=$a=$b$a=$b將右邊的值賦給左邊加+=$a+=$b$a=$a+$b將右邊的值加到左邊減-=$a-=$b$a=$a-$b將右邊的值減到左邊乘*=$a*=$b$a=$a*$b將左邊的值乘以右邊除/=$a/=$b$a=$a/$b將左邊的值除以右邊連接字符.=$a.=$b$a=$a.$b將右邊的字符加到左邊取余數(shù)%=$a%=$b$a=$a%$b將左邊的值對(duì)右邊取余數(shù)位運(yùn)算符符號(hào)作用實(shí)例&按位與$m&$n|按位或$m|$n^按位異或$m^$n~按位取反$m~$n<<向左移位$m<<$n>>向右移位$m>>$n遞增或遞減運(yùn)算符

遞增或遞減運(yùn)算符有兩種使用方法,一種是將運(yùn)算符放在變量前面,即先將變量作加一或減一的運(yùn)算后再將值賦給原變量,叫做前置遞增或遞減運(yùn)算符;另一種是將運(yùn)算符放在變量后面,即先返回變量的當(dāng)前值,然后變量的當(dāng)前值作加一或減一的運(yùn)算,叫做后置遞增或遞減運(yùn)算符。邏輯運(yùn)算符運(yùn)算符實(shí)例結(jié)果為真&&或and(邏輯與)$mand$n當(dāng)$m和$n都為真時(shí)||或or(邏輯或)$m||$n當(dāng)$m為真或者$n為真時(shí)xor(邏輯異或)$mxor$n當(dāng)$m、$n一真一假時(shí)!(邏輯非)!$m當(dāng)$m為假時(shí)比較運(yùn)算符運(yùn)算符實(shí)例結(jié)果為真<小于$m<$n>大于$m>$n<=小于等于$m<=$n>=大于等于$m>=$n==相等$m==$n!=不等$m!=$n===恒等$m===$n!==非恒等$m!==$n條件運(yùn)算符表達(dá)式1?表達(dá)式2:表達(dá)式3語(yǔ)法<?php$value=100;echo($value==true)?"表達(dá)式正確":"表達(dá)式不正確";?>運(yùn)算符優(yōu)先級(jí)優(yōu)先級(jí)別(從低到高)運(yùn)算符1or,and,xor2賦值運(yùn)算符3?:4||,&&5|,^6&7==,!=,===,!==8<,<=,>,>=9<<,>>10+,-,.11*,/,%12!,~13++,--4

表達(dá)式表達(dá)式將運(yùn)算符和操作數(shù)連接起來(lái)的式子稱為表達(dá)式。表達(dá)式是構(gòu)成PHP程序語(yǔ)言的基本元素,也是PHP最重要的組成元素。根據(jù)運(yùn)算符的不同,表達(dá)式可以分為算術(shù)表達(dá)式、字符串表達(dá)式、關(guān)系表達(dá)式、賦值表達(dá)式以及邏輯表達(dá)式等。

<?php$a="php";$b

+=1;?><?php$b=$a=

8;?>5數(shù)據(jù)類型的轉(zhuǎn)換主要內(nèi)容

自動(dòng)轉(zhuǎn)換

強(qiáng)制轉(zhuǎn)換0102自動(dòng)轉(zhuǎn)換

數(shù)據(jù)類型的自動(dòng)轉(zhuǎn)換是指在定義常量或變量時(shí),不需要指定常量或變量的數(shù)據(jù)類型,在代碼執(zhí)行過(guò)程中,PHP會(huì)根據(jù)需要將常量或變量轉(zhuǎn)換為合適的數(shù)據(jù)類型,但是在轉(zhuǎn)換時(shí)也要遵循一定的規(guī)則。

(1)布爾型數(shù)據(jù)和數(shù)值型數(shù)據(jù)在進(jìn)行算術(shù)運(yùn)算時(shí),TRUE被轉(zhuǎn)換為整數(shù)1,F(xiàn)ALSE被轉(zhuǎn)換為整數(shù)0。(2)字符串型數(shù)據(jù)和數(shù)值型數(shù)據(jù)在進(jìn)行算術(shù)運(yùn)算時(shí),如果字符串以數(shù)字開(kāi)頭,將被轉(zhuǎn)換為相應(yīng)的數(shù)字;如果字符串不是以數(shù)字開(kāi)頭,將被轉(zhuǎn)換為整數(shù)0。(3)在進(jìn)行字符串連接運(yùn)算時(shí),整數(shù)、浮點(diǎn)數(shù)將被轉(zhuǎn)換為字符串型數(shù)據(jù),布爾值TRUE將被轉(zhuǎn)換為字符串"1",布爾值FALSE和NULL將被轉(zhuǎn)換為空字符串""。(4)在進(jìn)行邏輯運(yùn)算時(shí),整數(shù)0、浮點(diǎn)數(shù)0.0、空字符串""、字符串"0"、NULL以及空數(shù)組將被轉(zhuǎn)換為布爾值FALSE,其他數(shù)據(jù)將被轉(zhuǎn)換為布爾值TRUE。強(qiáng)制轉(zhuǎn)換

應(yīng)用括號(hào)括起來(lái)的類型名稱進(jìn)行轉(zhuǎn)換轉(zhuǎn)換操作符轉(zhuǎn)換類型舉例(boolean),(bool)轉(zhuǎn)換成布爾型(boolean)$num、(bool)$str(string)轉(zhuǎn)換成字符型(string)$flo(integer),(int)轉(zhuǎn)換成整型(integer)$boo、(int)$str(float),(double),(real)轉(zhuǎn)換成浮點(diǎn)型(float)$str、(double)$str(array)轉(zhuǎn)換成數(shù)組(array)$str(object)轉(zhuǎn)換成對(duì)象(object)$str強(qiáng)制轉(zhuǎn)換

使用以val結(jié)尾的函數(shù)名的函數(shù)函數(shù)名語(yǔ)法格式返回值intvalintintval(mixedvar)返回var的整數(shù)值floatvalfloatfloatval(mixedvar)返回var的浮點(diǎn)數(shù)值strvalstringstrval(mixedvar)返回var的字符串值強(qiáng)制轉(zhuǎn)換

使用settype()函數(shù)boolsettype(mixedvar,stringtype)語(yǔ)法參數(shù)var為指定的變量。參數(shù)type為指定的類型,參數(shù)type有7個(gè)可選值:boolean、float、integer、array、null、object和string。如果轉(zhuǎn)換成功則返回true,否則返回false。參數(shù)說(shuō)明小結(jié)

本章主要介紹了PHP語(yǔ)言的基礎(chǔ)知識(shí),包括常量、變量、運(yùn)算符和表達(dá)式,并詳細(xì)介紹了各種類型之間的轉(zhuǎn)換、系統(tǒng)預(yù)定義的常量、變量。基礎(chǔ)知識(shí)是一門(mén)語(yǔ)言的核心,希望初學(xué)者能靜下心來(lái),牢牢掌握本章的知識(shí),這樣對(duì)以后的學(xué)習(xí)能起到事半功倍的效果。第4章流程控制語(yǔ)句01條件判斷語(yǔ)句

02循環(huán)控制語(yǔ)句

03跳轉(zhuǎn)語(yǔ)句和終止語(yǔ)句

1

條件判斷語(yǔ)句主要內(nèi)容

if語(yǔ)句

if…else語(yǔ)句

switch語(yǔ)句010203if語(yǔ)句if(expr) statement;語(yǔ)法if(expr){

statement1;

statement2;

…}流程圖if…else語(yǔ)句語(yǔ)法1if(expr){

statement1;}else{

statement2;}流程圖if…else語(yǔ)句語(yǔ)法2if(expr1){

statement1;}elseif(expr2){

statement2;}…else{

statementn;}流程圖switch語(yǔ)句語(yǔ)法switch(variable){

casevalue1: statement1; break;

casevalue2:

default: defaultstatementn;}流程圖2

循環(huán)控制語(yǔ)句

主要內(nèi)容

while循環(huán)語(yǔ)句

do…while循環(huán)語(yǔ)句

for循環(huán)語(yǔ)句

foreach循環(huán)01020304

循環(huán)結(jié)構(gòu)的應(yīng)用

05while循環(huán)語(yǔ)句語(yǔ)法while(expr){

statement}流程圖do…while循環(huán)語(yǔ)句語(yǔ)法do{

statement}while(expr);流程圖for循環(huán)語(yǔ)句語(yǔ)法for(expr1;expr2;expr3){ statement;}流程圖foreach循環(huán)語(yǔ)法1foreach(array_expressionas$value)

statement語(yǔ)法2foreach(array_expressionas$key=>$value)

statement循環(huán)結(jié)構(gòu)的應(yīng)用利用for循環(huán)語(yǔ)句開(kāi)發(fā)一個(gè)乘法口訣表,并將算式以及計(jì)算結(jié)果打印在特定的表格中。

3跳轉(zhuǎn)語(yǔ)句和終止語(yǔ)句主要內(nèi)容

continue語(yǔ)句

break語(yǔ)句

exit語(yǔ)句010203continue語(yǔ)句

在執(zhí)行continue語(yǔ)句后,程序?qū)⒔Y(jié)束本次循環(huán)的執(zhí)行,并開(kāi)始下一輪循環(huán)的執(zhí)行操作。<?php

for($i=1;$i<=10;$i++){

if($i==6){

continue;

}

echo$i."";

}?>break語(yǔ)句

break語(yǔ)句可以終止當(dāng)前的循環(huán),包括while、do…while、for、foreach和switch在內(nèi)的所有控制語(yǔ)句。<?php

for($i=1;$i<=10;$i++){

if($i==6){break;

}

echo$i."";

}?>exit語(yǔ)句語(yǔ)法voidexit([stringmessage]);<?phpecho1/0;exit("除數(shù)不能是0");echo"這條語(yǔ)句不會(huì)執(zhí)行";?>

exit語(yǔ)句的作用是終止整個(gè)PHP程序的執(zhí)行,在exit語(yǔ)句后的所有PHP代碼都不會(huì)執(zhí)行。小結(jié)

本章主要講述的是流程控制語(yǔ)句的知識(shí)。重點(diǎn)掌握3種流程控制語(yǔ)句——條件判斷語(yǔ)句、循環(huán)控制語(yǔ)句和跳轉(zhuǎn)控制語(yǔ)句,讀者通過(guò)對(duì)本章的學(xué)習(xí)能夠從宏觀的角度去認(rèn)識(shí)PHP語(yǔ)言,從整體上形成一個(gè)開(kāi)發(fā)的思路,逐漸形成一種屬于自己的編程思想和編程方法。第5章PHP數(shù)組01數(shù)組概述

02創(chuàng)建一維數(shù)組

03創(chuàng)建二維數(shù)組

04遍歷與輸出數(shù)組

05數(shù)組函數(shù)及其應(yīng)用

1

數(shù)組概述主要內(nèi)容

數(shù)組是什么

數(shù)組的類型0102數(shù)組是什么變量中保存單個(gè)數(shù)據(jù),而數(shù)組中則保存的是多個(gè)變量的集合。使用數(shù)組的目的就是將多個(gè)相互關(guān)聯(lián)的數(shù)據(jù)組織在一起形成一個(gè)整體,作為一個(gè)單元使用。數(shù)組的類型PHP中將數(shù)組分為一維數(shù)組、二維數(shù)組和多維數(shù)組,但是無(wú)論是一維還是多維,可以統(tǒng)一將數(shù)組分為兩種:數(shù)字索引數(shù)組(indexedarray)和關(guān)聯(lián)數(shù)組(associativearray)。

數(shù)字索引數(shù)組

數(shù)字索引數(shù)組,下標(biāo)(鍵名)由數(shù)字組成,默認(rèn)從0開(kāi)始。$arr_int=array("PHP入門(mén)與實(shí)戰(zhàn)","C#入門(mén)與實(shí)戰(zhàn)","VB入門(mén)與實(shí)戰(zhàn)");數(shù)組的類型關(guān)聯(lián)數(shù)組關(guān)聯(lián)數(shù)組的鍵名可以是數(shù)字和字符串混合的形式。$arr_string=array("PHP"=>"PHP入門(mén)與實(shí)戰(zhàn)","Java"=>"Java入門(mén)與實(shí)戰(zhàn)","C#"=>"C#入門(mén)與實(shí)戰(zhàn)");2

創(chuàng)建一維數(shù)組

主要內(nèi)容

通過(guò)數(shù)組標(biāo)識(shí)符“[]”創(chuàng)建數(shù)組

使用array()函數(shù)創(chuàng)建數(shù)組0102

PHP中的一種比較靈活的數(shù)組聲明方式是通過(guò)數(shù)組標(biāo)識(shí)符“[]”直接為數(shù)組元素賦值。

通過(guò)數(shù)組標(biāo)識(shí)符“[]”創(chuàng)建數(shù)組$arr[key]=value;$arr[]=value;語(yǔ)法使用array()函數(shù)創(chuàng)建數(shù)組arrayarray([mixed...])語(yǔ)法

參數(shù)mixed的格式為“key=>value”,多個(gè)參數(shù)mixed用逗號(hào)分開(kāi)。(1)數(shù)組中的索引(key)可以是字符串或數(shù)字。(2)數(shù)組中的各數(shù)據(jù)元素的數(shù)據(jù)類型可以不同,也可以是數(shù)組類型。說(shuō)明3創(chuàng)建二維數(shù)組主要內(nèi)容

通過(guò)數(shù)組標(biāo)識(shí)符“[]”創(chuàng)建二維數(shù)組

使用array()函數(shù)創(chuàng)建二維數(shù)組0102

通過(guò)數(shù)組標(biāo)識(shí)符“[]”創(chuàng)建二維數(shù)組的方法就是將數(shù)組元素的值設(shè)置為另一個(gè)數(shù)組。

通過(guò)數(shù)組標(biāo)識(shí)符“[]”創(chuàng)建二維數(shù)組使用array()函數(shù)創(chuàng)建二維數(shù)組$str=array("PHP類圖書(shū)"=>array("PHP從入門(mén)到精通","PHP典型模塊","PHP標(biāo)準(zhǔn)教程"),"JAVA類圖書(shū)"=>array("a"=>"JAVA范例手冊(cè)","b"=>"JAVAWEB范例寶典"),"ASP類圖書(shū)"=>array("ASP從入門(mén)到精通",2=>"ASP范例寶典","ASP典型模塊"));4遍歷與輸出數(shù)組主要內(nèi)容

遍歷數(shù)組

輸出數(shù)組0102遍歷數(shù)組

使用foreach結(jié)構(gòu)遍歷數(shù)組

通過(guò)數(shù)組函數(shù)list()和each()遍歷數(shù)組

list()函數(shù)將數(shù)組中的值賦給一些變量。each()函數(shù)返回?cái)?shù)組中當(dāng)前指針位置的鍵名和對(duì)應(yīng)的值,并向前移動(dòng)數(shù)組指針。voidlist(mixed...)語(yǔ)法arrayeach(arrayarray)輸出數(shù)組

print_r()函數(shù)boolprint_r(mixedexpression)語(yǔ)法

var_dump()函數(shù)voidvar_dump(mixedexpression[,mixedexpression[,…]])語(yǔ)法5數(shù)組函數(shù)及其應(yīng)用主要內(nèi)容

創(chuàng)建數(shù)組的函數(shù)

數(shù)組統(tǒng)計(jì)函數(shù)

數(shù)組指針函數(shù)010203

數(shù)組和變量之間的轉(zhuǎn)換04

數(shù)組檢索函數(shù)

數(shù)組排序函數(shù)

數(shù)組與數(shù)據(jù)結(jié)構(gòu)050607

數(shù)組集合函數(shù)08創(chuàng)建數(shù)組的函數(shù)

range()函數(shù)arrayrange(intlow,inthigh[,intstep])語(yǔ)法

array_combine()函數(shù)arrayarray_combine(arraykeys,arrayvalues)語(yǔ)法創(chuàng)建數(shù)組的函數(shù)

array_fill()函數(shù)arrayarray_fill(intstart_index,intnum,mixedvalue)語(yǔ)法

array_pad()函數(shù)arrayarray_pad(arrayinput,intpad_size,mixedpad_value)語(yǔ)法創(chuàng)建數(shù)組的函數(shù)

explode()函數(shù)arrayexplode(stringseparator,stringstr,[intlimit])語(yǔ)法數(shù)組統(tǒng)計(jì)函數(shù)

count()函數(shù)intcount(mixedarray[,intmode])語(yǔ)法

max()函數(shù)mixedmax(arrayarr[,array…])語(yǔ)法數(shù)組統(tǒng)計(jì)函數(shù)

min()函數(shù)mixedmin(arrayarr[,array…])語(yǔ)法

array_sum()函數(shù)mixedarray_sum(arrayarray)語(yǔ)法數(shù)組統(tǒng)計(jì)函數(shù)

array_count_values()函數(shù)arrayarray_count_values(arrayinput)語(yǔ)法數(shù)組指針函數(shù)

key()函數(shù)mixedkey(arrayarray)語(yǔ)法

current()函數(shù)mixedcurrent(arrayarray)語(yǔ)法數(shù)組指針函數(shù)

next()函數(shù)mixednext(arrayarray)語(yǔ)法

end()函數(shù)mixedend(arrayarray)語(yǔ)法數(shù)組指針函數(shù)

prev()函數(shù)mixedprev(arrayarray)語(yǔ)法

reset()函數(shù)mixedreset(arrayarray)語(yǔ)法數(shù)組和變量之間的轉(zhuǎn)換

extract()函數(shù)intextract(arrayarray)語(yǔ)法

compact()函數(shù)arraycompact(mixedvarname[,mixed...])語(yǔ)法數(shù)組檢索函數(shù)

array_keys()函數(shù)arrayarray_keys(arrayinput[,mixedsearch_value])語(yǔ)法

array_values()函數(shù)arrayarray_values(arrayarray)語(yǔ)法數(shù)組檢索函數(shù)

in_array()函數(shù)boolin_array(mixedneedle,arrayarray[,boolstrict])語(yǔ)法

array_search()函數(shù)mixedarray_search(mixedneedle,arrayhaystack[,boolstrict])語(yǔ)法數(shù)組檢索函數(shù)

array_key_exists()函數(shù)boolarray_key_exists(mixedkey,arraysearch)語(yǔ)法

array_unique()函數(shù)arrayarray_unique(arrayarray)語(yǔ)法數(shù)組排序函數(shù)

sort()函數(shù)boolsort(array&array[,intsort_flags])語(yǔ)法

asort()函數(shù)boolasort(array&array[,intsort_flags])語(yǔ)法數(shù)組排序函數(shù)

rsort()和arsort()函數(shù)rsort()函數(shù)與sort()函數(shù)的語(yǔ)法格式相同,arsort()函數(shù)和asort()函數(shù)的語(yǔ)法格式相同,不同的是rsort()和arsort()函數(shù)是根據(jù)數(shù)組元素值以降序進(jìn)行排序。

ksort()和krsort()函數(shù)boolksort(array&array[,intsort_flags])語(yǔ)法數(shù)組排序函數(shù)

natsort()和natcasesort()函數(shù)boolnatsort(array&array[,intsort_flags])語(yǔ)法

shuffle()函數(shù)boolshuffle(array&array[,intsort_flags])語(yǔ)法數(shù)組排序函數(shù)

array_reverse()函數(shù)arrayarray_reverse(arrayarray[,boolpreserve_keys])語(yǔ)法07數(shù)組與數(shù)據(jù)結(jié)構(gòu)

array_push()函數(shù)intarray_push(arrayarray,mixedvar[,mixed...])語(yǔ)法

array_pop()函數(shù)mixedarray_pop(arrayarray)語(yǔ)法數(shù)組與數(shù)據(jù)結(jié)構(gòu)

array_shift()函數(shù)mixedarray_shift(arrayarray)語(yǔ)法

array_unshift()函數(shù)intarray_unshift(arrayarray,mixedvar[,mixed...])語(yǔ)法數(shù)組集合函數(shù)

array_merge()函數(shù)arrayarray_merge(arrayarray1[,arrayarray2[,array...]])語(yǔ)法

array_diff()函數(shù)arrayarray_diff(arrayarray1,arrayarray2[,arrayarrayX...])語(yǔ)法數(shù)組集合函數(shù)

array_diff_assoc()函數(shù)arrayarray_diff_assoc(arrayarray1,arrayarray2[,arrayarrayX...])語(yǔ)法

array_diff_key()函數(shù)arrayarray_diff_key(arrayarray1,arrayarray2[,arrayarrayX...])語(yǔ)法數(shù)組集合函數(shù)

array_intersect()函數(shù)arrayarray_intersect(arrayarray1,arrayarray2[,arrayarrayX...])語(yǔ)法

array_intersect_assoc()函數(shù)arrayarray_intersect_assoc(arrayarray1,arrayarray2[,arrayarrayX...])語(yǔ)法數(shù)組集合函數(shù)

array_intersect_key()函數(shù)arrayarray_intersect_key(arrayarray1,arrayarray2[,arrayarrayX...])語(yǔ)法07小結(jié)

本章的重點(diǎn)是數(shù)組的常用操作,這些操作會(huì)在實(shí)際應(yīng)用中經(jīng)常用到。另外,PHP提供了大量的數(shù)組函數(shù),完全可以在開(kāi)發(fā)任務(wù)中輕松實(shí)現(xiàn)所需要的功能。希望通過(guò)本章的學(xué)習(xí),讀者能夠舉一反三,對(duì)所學(xué)知識(shí)進(jìn)行靈活運(yùn)用,開(kāi)發(fā)實(shí)用的PHP程序。第6章PHP與Web頁(yè)面交互01表單數(shù)據(jù)的提交方式

02應(yīng)用PHP全局變量獲取表單數(shù)據(jù)

03使用表單04實(shí)現(xiàn)文件的上傳

05服務(wù)器端獲取數(shù)據(jù)的其他方法

1表單數(shù)據(jù)的提交方式主要內(nèi)容

GET方法提交表單數(shù)據(jù)

POST方法提交表單數(shù)據(jù)

POST方法與GET方法的使用區(qū)別

010203GET方法提交表單數(shù)據(jù)http://url?name1=value1&name2=value2……傳參格式<formname="form1"method=“get"action="index.php">……</form>POST方法提交表單數(shù)據(jù)<formname="form1"method="post"action="index.php">……</form>POST方法與GET方法的使用區(qū)別POST方法發(fā)送變量數(shù)據(jù)時(shí),安全性要好得多,而且使用POST方法向Web服務(wù)器發(fā)送數(shù)據(jù)的大小不受限制。GET方法是在訪問(wèn)URL時(shí)使用瀏覽器地址欄傳遞值。另外,GET方法不支持ASCII字符之外的任何字符。2應(yīng)用PHP全局變量獲取表單數(shù)據(jù)主要內(nèi)容

$_POST[]全局變量

$_GET[]全局變量

0102使用PHP的$_POST[]全局變量可以獲取表單元素的值。$_POST[]全局變量<?php$user=$_POST["user"];?>$_GET[]全局變量PHP使用$_GET[]全局變量獲取通過(guò)GET方法傳遞的值。<?php$user=$_GET["user"];?>

PHP可以應(yīng)用$_POST[]或$_GET[]全局變量來(lái)獲取表單元素的值。但值得注意的是,獲取的表單元素名稱區(qū)分字母大小寫(xiě)。如果在編寫(xiě)Web程序時(shí)忽略字母大小寫(xiě),那么在程序運(yùn)行時(shí)將獲取不到表單元素的值或彈出錯(cuò)誤提示信息。注意3

使用表單主要內(nèi)容

創(chuàng)建表單

表單元素

使用數(shù)組提交表單數(shù)據(jù)010203

表單綜合應(yīng)用04創(chuàng)建表單<formname="form_name"method="method"action="url"enctype="value"target="target_win"id="id">

……</form>表單結(jié)構(gòu)<form>標(biāo)記屬性說(shuō)明name表單的名稱method設(shè)置表單的提交方式,GET或者POST方法action指向處理該表單頁(yè)面的URL(相對(duì)地址或者絕對(duì)地址)enctype設(shè)置表單內(nèi)容的編碼方式target設(shè)置返回信息的顯示方式id表單的ID號(hào)表單元素

文字域text01<inputtype=”text”name=”field_name”maxlength=max_valuesize=size_valuevalue=”field_value”>語(yǔ)法示例代碼<inputname="user"type="text"value="純凈水"size="12"maxlength="1000">運(yùn)行效果

表單元素

密碼域password02<inputtype=”password”name=”field_name”maxlength=max_valuesize=size_value>語(yǔ)法示例代碼<inputname="pwd"type="password"size="12"maxlength="20">運(yùn)行效果

表單元素

單選按鈕radio03<inputtype=”radio”name=”field_name”checkedvalue=”value”>語(yǔ)法示例代碼<inputname="sex"type="radio"value="1"checked/>男<inputname="sex"type="radio"value="0"/>女運(yùn)行效果

表單元素

復(fù)選框checkbox04<inputtype=”checkbox”name=”field_name”checkedvalue=”value”>語(yǔ)法示例代碼

<inputname="interest1"type="checkbox"value="sports"checked/>體育<inputname="interest2"type="checkbox"value="music"checked/>音樂(lè)<inputname="interest3"type="checkbox"value="film"/>影視運(yùn)行效果

表單元素

普通按鈕button05<inputtype=”button”name=”field_name”value=”button_text”>語(yǔ)法示例代碼<inputtype="button"name="Submit"value="按鈕"/>運(yùn)行效果

表單元素

提交按鈕submit06<inputtype=”submit”name=”field_name”value=”submit_text”>語(yǔ)法示例代碼<inputtype="submit"name="Submit"value="提交"/>運(yùn)行效果

表單元素

重置按鈕reset07<inputtype=”reset”name=”field_name”value=”reset_text”>語(yǔ)法示例代碼<inputtype="reset"name="Submit"value="重置"/>運(yùn)行效果

表單元素

圖像域image08<inputtype=”image”name=”field_name”src=”image_url”>語(yǔ)法示例代碼<inputname="imageField"type="image"src="images/log.gif"width="120"height="24"border="0"/>運(yùn)行效果

表單元素

隱藏域hidden09<inputtype=”hidden”name=”field_name”value=”value”>語(yǔ)法

表單中的隱藏域主要用來(lái)傳遞一些參數(shù),而這些參數(shù)不需要在頁(yè)面中顯示。例如隱藏用戶的id值,寫(xiě)法如下:<inputtype=”hidden”name=”user_id”value=”101”>說(shuō)明表單元素

文件域file10<inputtype=”file”name=”field_name”maxlength=max_valuesize=size_value>語(yǔ)法

要實(shí)現(xiàn)文件的上傳功能,必須將表單標(biāo)簽<form>的enctype屬性值設(shè)置為multipart/form-data,method屬性值設(shè)置為POST。注意示例代碼<inputname="file"type="file"size="16"maxlength="200"/>運(yùn)行效果

表單元素

文本域標(biāo)記<textarea>11<textareaname=”textname”rows=rows_valuecols=cols_value>content</textarea>語(yǔ)法示例代碼<textareaname="remark"cols="20"rows="4">請(qǐng)輸入您的建議!</textarea>運(yùn)行效果

表單元素

選擇域標(biāo)記<select>和<option>12<selectname="name"size="value"multiple><optionvalue="value"selected>選項(xiàng)1</option><optionvalue="value">選項(xiàng)2</option><optionvalue="value">選項(xiàng)3</option>…</select>語(yǔ)法使用數(shù)組提交表單數(shù)據(jù)<formname="myform"method="post"><inputname="interest[]"type="checkbox"value="sports"/>體育<inputname="interest[]"type="checkbox"value="music"/>音樂(lè)<inputname="interest[]"type="checkbox"value="film"/>影視<br/><inputname="pic[]"type="file"/><br/><inputname="pic[]"type="file"/><br/><inputname="pic[]"type="file"/></form>表單綜合應(yīng)用應(yīng)用$_POST[]全局變量獲取用戶輸入的個(gè)人信息。

4實(shí)現(xiàn)文件的上傳主要內(nèi)容

上傳文件相關(guān)配置

全局變量$_FILES

實(shí)現(xiàn)PHP文件的上傳010203上傳文件相關(guān)配置在php.ini中,定位到FileUploads項(xiàng),完成對(duì)上傳相關(guān)選項(xiàng)的設(shè)置。上傳相關(guān)選項(xiàng)的含義如下:

file_uploads:如果值是on,說(shuō)明服務(wù)器支持文件上傳;如果為off,則不支持。一般默認(rèn)是支持的。upload_tmp_dir:上傳文件臨時(shí)目錄。upload_max_filesize:服務(wù)器允許上傳文件的最大值,以MB為單位。全局變量$_FILES元素名說(shuō)明$_FILES['filename']['name']存儲(chǔ)上傳文件的文件名。如text.txt、title.jpg等$_FILES['filename']['size']存儲(chǔ)文件大小,單位為字節(jié)$_FILES['filename']['tmp_name']存儲(chǔ)文件在臨時(shí)目錄中使用的文件名。因?yàn)槲募谏蟼鲿r(shí),首先要將其以臨時(shí)文件的身份保存在臨時(shí)目錄中$_FILES['filename']['type']存儲(chǔ)上傳文件的MIME類型,MIME類型規(guī)定各種文件格式的類型。每種MIME類型都是由“/”分隔的主類型和子類型組成的。例如:“image/gif”,主類型為“圖像”,子類型為GIF格式的文件,“text/html”代表HTML格式的文本文件$_FILES['filename']['error']存儲(chǔ)了上傳文件的結(jié)果。如果返回0,則說(shuō)明文件上傳成功實(shí)現(xiàn)PHP文件的上傳

is_uploaded_file()函數(shù)boolis_uploaded_file(stringfilename)語(yǔ)法實(shí)現(xiàn)PHP文件的上傳

move_uploaded_file()函數(shù)boolmove_uploaded_file(stringfilename,stringdestination)語(yǔ)法

如果參數(shù)filename不是合法的上傳文件,不會(huì)執(zhí)行任何操作,move_uploaded_file()將返回FALSE。如果參數(shù)filename是合法的上傳文件,但出于某些原因無(wú)法移動(dòng),同樣也不會(huì)執(zhí)行任何操作,move_uploaded_file()將返回FALSE,此外還會(huì)發(fā)出一條警告。說(shuō)明

5服務(wù)器端獲取數(shù)據(jù)的其他方法主要內(nèi)容

$_REQUEST[]全局變量

$_SERVER[]全局變量0102$_REQUEST[]全局變量

可以用$_REQUEST[]全局變量獲取GET方法、POST方法和httpCookie傳遞到腳本的信息。如果在編寫(xiě)程序時(shí),不能確定是通過(guò)什么方法提交數(shù)據(jù)的,那么就可以通過(guò)$_REQUEST[]全局變量獲取提交到當(dāng)前頁(yè)面的數(shù)據(jù)。$_SERVER[]全局變量數(shù)組元素說(shuō)明$_SERVER['SERVER_ADDR']當(dāng)前運(yùn)行腳本所在的服務(wù)器的IP地址$_SERVER['SERVER_NAME']當(dāng)前運(yùn)行腳本所在服務(wù)器主機(jī)的名稱。如果該腳本運(yùn)行在一個(gè)虛擬主機(jī)上,該名稱由那個(gè)虛擬主機(jī)所設(shè)置的值決定$_SERVER['REQUEST_METHOD']訪問(wèn)頁(yè)面時(shí)的請(qǐng)求方法。例如:“GET”、“HEAD”、“POST”、“PUT”。如果請(qǐng)求的方式是HEAD,PHP腳本將在送出頭信息后中止(這意味著在產(chǎn)生任何輸出后,不再有輸出緩沖)$_SERVER['REMOTE_ADDR']正在瀏覽當(dāng)前頁(yè)面用戶的IP地址$_SERVER['REMOTE_HOST']正在瀏覽當(dāng)前頁(yè)面用戶的主機(jī)名。反向域名解析基于該用戶的REMOTE_ADDR$_SERVER[]全局變量數(shù)組元素說(shuō)明$_SERVER['REMOTE_PORT']用戶連接到服務(wù)器時(shí)所使用的端口$_SERVER['SCRIPT_FILENAME']當(dāng)前執(zhí)行腳本的絕對(duì)路徑名。注意:如果腳本在CLI中被執(zhí)行,作為相對(duì)路徑,如file.php或者../file.php,$_SERVER['SCRIPT_FILENAME']將包含用戶指定的相對(duì)路徑$_SERVER['SERVER_PORT']服務(wù)器所使用的端口,默認(rèn)為“80”。如果使用SSL安全連接,則這個(gè)值為用戶設(shè)置的HTTP端口$_SERVER['SERVER_SIGNATURE']包含服務(wù)器版本和虛擬主機(jī)名的字符串$_SERVER['DOCUMENT_ROOT']當(dāng)前運(yùn)行腳本所在的文檔根目錄,在服務(wù)器配置文件中定義小結(jié)

本章主要介紹了創(chuàng)建表單及表單元素、通過(guò)POST方法和GET方法提交表單數(shù)據(jù)以及文件上傳的實(shí)現(xiàn)。通過(guò)本章的學(xué)習(xí),讀者可以掌握PHP與Web頁(yè)面的交互,為深入學(xué)習(xí)PHP打下扎實(shí)的基礎(chǔ)。第7章函數(shù)01函數(shù)簡(jiǎn)介

02

自定義函數(shù)

03PHP文件的引用1函數(shù)簡(jiǎn)介主要內(nèi)容

什么是函數(shù)

函數(shù)的分類

0102什么是函數(shù)

把一段可以實(shí)現(xiàn)指定功能的代碼封裝在函數(shù)內(nèi),直接調(diào)用函數(shù)即可實(shí)現(xiàn)指定的功能。函數(shù)的分類PHP中的函數(shù)系統(tǒng)的內(nèi)置函數(shù)自定義函數(shù)變量函數(shù)2自定義函數(shù)主要內(nèi)容

自定義函數(shù)的定義

自定義函數(shù)的參數(shù)

0103

變量的作用域

05

自定義函數(shù)的調(diào)用

自定義函數(shù)的返回值0204

變量函數(shù)

06自定義函數(shù)的定義

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論