麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

Php基礎(chǔ)知識

2020-03-22 19:56:31
字體:
供稿:網(wǎng)友
  • 1、PHP 簡介

    PHP 腳本在服務(wù)器上執(zhí)行。

    在學(xué)習(xí)php之前,需要對下面的知識有基本的了解:

    HTMLCSSJavaScript1.1 什么是 PHP?PHP 是 "PHP Hypertext Preprocessor" 的首字母縮略詞PHP 是一種被廣泛使用的開源腳本語言PHP 腳本在服務(wù)器上執(zhí)行PHP 沒有成本,可供免費(fèi)下載和使用1.2 PHP 是一門令人驚嘆的流行語言!它強(qiáng)大到足以成為在網(wǎng)絡(luò)上最大的博客系統(tǒng)的核心(WordPress)!它深邃到足以運(yùn)行最大的社交網(wǎng)絡(luò)(facebook)!而它的易用程度足以成為初學(xué)者的首選服務(wù)器端語言!1.3 什么是 PHP 文件?PHP 文件能夠包含文本、HTML、CSS 以及 PHP 代碼PHP 代碼在服務(wù)器上執(zhí)行,而結(jié)果以純文本返回瀏覽器PHP 文件的后綴是 ".php"1.4 PHP 能夠做什么?PHP 能夠生成動態(tài)頁面內(nèi)容PHP 能夠創(chuàng)建、打開、讀取、寫入、刪除以及關(guān)閉服務(wù)器上的文件PHP 能夠接收表單數(shù)據(jù)PHP 能夠發(fā)送并取回 cookiesPHP 能夠添加、刪除、修改數(shù)據(jù)庫中的數(shù)據(jù)PHP 能夠限制用戶訪問網(wǎng)站中的某些頁面PHP 能夠?qū)?shù)據(jù)進(jìn)行加密

    通過 PHP,可以不受限于只輸出 HTML。您還能夠輸出圖像、PDF 文件、甚至 Flash 影片。您也可以輸出任何文本,比如 XHTML 和 XML。

    1.5 為什么使用 PHP?PHP 運(yùn)行于各種平臺(Windows, Linux, Unix, Mac OS X 等等)PHP 兼容幾乎所有服務(wù)器(Apache, IIS 等等)PHP 支持多種數(shù)據(jù)庫PHP 是免費(fèi)的。 PHP 易于學(xué)習(xí),并可高效地運(yùn)行在服務(wù)器端1.6 PHP 安裝

    官方的 PHP 網(wǎng)站 (PHP.net) 提供了 PHP 的安裝說明:http://php.net/manual/zh/install.php

    2、PHP 語法

    PHP 腳本在服務(wù)器上執(zhí)行,然后向?yàn)g覽器發(fā)送回純 HTML 結(jié)果。

    2.1 基礎(chǔ) PHP 語法

    PHP 腳本可放置于文檔中的任何位置。

    PHP 腳本以 <?php 開頭,以 ?> 結(jié)尾:

    <?php// 此處是 PHP 代碼?>

    PHP 文件的默認(rèn)文件擴(kuò)展名是 ".php"。

    PHP 文件通常包含 HTML 標(biāo)簽以及一些 PHP 腳本代碼。

    下面的例子是一個(gè)簡單的 PHP 文件,其中包含了使用內(nèi)建 PHP 函數(shù) "echo" 在網(wǎng)頁上輸出文本 "Hello World!" 的一段 PHP 腳本:

    實(shí)例
    <!DOCTYPE html><html><body><h3>我的第一張 PHP 頁面</h3><?phpecho "Hello World!";?></body></html>

    運(yùn)行結(jié)果:

    我的第一張 PHP 頁面

    Hello World!

    注釋:PHP 語句以分號結(jié)尾(;)。PHP 代碼塊的關(guān)閉標(biāo)簽也會自動表明分號(因此在 PHP 代碼塊的最后一行不必使用分號)。

    2.2 PHP 中的注釋

    PHP 代碼中的注釋不會被作為程序來讀取和執(zhí)行。它唯一的作用是供代碼編輯者閱讀。

    注釋用于:

    使其他人理解您正在做的工作 - 注釋可以讓其他程序員了解您在每個(gè)步驟進(jìn)行的工作(如果您供職于團(tuán)隊(duì))提醒自己做過什么 - 大多數(shù)程序員都曾經(jīng)歷過一兩年后對項(xiàng)目進(jìn)行返工,然后不得不重新考慮他們做過的事情。注釋可以記錄您在寫代碼時(shí)的思路。PHP 支持三種注釋:實(shí)例
    <!DOCTYPE html><html><body><?php// 這是單行注釋# 這也是單行注釋/*這是多行注釋塊它橫跨了多行*/?></body></html>

    2.3 PHP 大小寫敏感

    在 PHP 中,所有用戶定義的函數(shù)、類和關(guān)鍵詞(例如 if、else、echo 等等)都對大小寫不敏感。

    在下面的例子中,所有這三天 echo 語句都是合法的(等價(jià)):

    實(shí)例
    <!DOCTYPE html><html><body><?phpECHO "Hello World!<br>";echo "Hello World!<br>";EcHo "Hello World!<br>";?></body></html>

    運(yùn)行結(jié)果:

    Hello World!
    Hello World!
    Hello World!

    不過在 PHP 中,所有變量都對大小寫敏感。

    在下面的例子中,只有第一條語句會顯示 $color 變量的值(這是因?yàn)?$color、$COLOR 以及 $coLOR 被視作三個(gè)不同的變量):

    實(shí)例
    <!DOCTYPE html><html><body><?php$color="red";echo "My car is " . $color . "<br>";echo "My house is " . $COLOR . "<br>";echo "My boat is " . $coLOR . "<br>";?></body></html>

    運(yùn)行結(jié)果

    My car is red
    My house is
    My boat is

    3、PHP 變量

    變量是存儲信息的容器:

    實(shí)例
    <?php$x=5;$y=6;$z=$x+$y;echo $z;?>

    運(yùn)行結(jié)果:

    11

    3.1 類似代數(shù)
    x=5y=6z=x+y

    在代數(shù)中我們使用字母(比如 x)來保存值(比如 5)。

    從上面的表達(dá)式 z=x+y,我們能夠計(jì)算出 z 的值是 11。

    在 PHP 中,這三個(gè)字母被稱為變量

    注釋:請把變量視為存儲數(shù)據(jù)的容器。

    3.2 PHP 變量

    正如代數(shù),PHP 變量可用于保存值(x=5)和表達(dá)式(z=x+y)。

    變量的名稱可以很短(比如 x 和 y),也可以取更具描述性的名稱(比如 carname、total_volume)。

    PHP 變量規(guī)則:變量以 $ 符號開頭,其后是變量的名稱變量名稱必須以字母或下劃線開頭變量名稱不能以數(shù)字開頭變量名稱只能包含字母數(shù)字字符和下劃線(A-z、0-9 以及 _)變量名稱對大小寫敏感($y 與 $Y 是兩個(gè)不同的變量)

    注釋:PHP 變量名稱對大小寫敏感!

    3.3 創(chuàng)建 PHP 變量

    PHP 沒有創(chuàng)建變量的命令。

    變量會在首次為其賦值時(shí)被創(chuàng)建:

    實(shí)例
    <?php$txt="Hello world!";$x=5;$y=10.5;?>

    以上語句執(zhí)行后,變量 txt 會保存值 Hello world!,變量 x 會保存值 5,變量 y 會保存值 10.5。

    注釋:如果您為變量賦的值是文本,請用引號包圍該值。

    3.4 PHP 是一門類型松散的語言

    在上面的例子中,請注意我們不必告知 PHP 變量的數(shù)據(jù)類型。

    PHP 根據(jù)它的值,自動把變量轉(zhuǎn)換為正確的數(shù)據(jù)類型。

    在諸如 C 和 C++ 以及 Java 之類的語言中,程序員必須在使用變量之前聲明它的名稱和類型。

    3.5 PHP 變量作用域

    在 PHP 中,可以在腳本的任意位置對變量進(jìn)行聲明。

    變量的作用域指的是變量能夠被引用/使用的那部分腳本。

    PHP 有三種不同的變量作用域:

    local(局部)global(全局)static(靜態(tài))3.5.1 Local 和 Global 作用域

    函數(shù)之外聲明的變量擁有 Global 作用域,只能在函數(shù)以外進(jìn)行訪問。

    函數(shù)內(nèi)部聲明的變量擁有 LOCAL 作用域,只能在函數(shù)內(nèi)部進(jìn)行訪問。

    下面的例子測試了帶有局部和全局作用域的變量:

    實(shí)例
    <?php$x=5; // 全局作用域function myTest() {  $y=10; // 局部作用域  echo "<p>測試函數(shù)內(nèi)部的變量:</p>";  echo "變量 x 是:$x";  echo "<br>";  echo "變量 y 是:$x";} myTest();echo "<p>測試函數(shù)之外的變量:</p>";echo "變量 x 是:$x";echo "<br>";echo "變量 y 是:$x";?>

    在上例中,有兩個(gè)變量 $x 和 $y,以及一個(gè)函數(shù) myTest()。$x 是全局變量,因?yàn)樗窃诤瘮?shù)之外聲明的,而 $y 是局部變量,因?yàn)樗窃诤瘮?shù)內(nèi)聲明的。

    如果我們在 myTest() 函數(shù)內(nèi)部輸出兩個(gè)變量的值,$y 會輸出在本地聲明的值,但是無法 $x 的值,因?yàn)樗诤瘮?shù)之外創(chuàng)建。

    然后,如果在 myTest() 函數(shù)之外輸出兩個(gè)變量的值,那么會輸出 $x 的值,但是不會輸出 $y 的值,因?yàn)樗蔷植孔兞浚⑶以?myTest() 內(nèi)部創(chuàng)建。

    注釋:您可以在不同的函數(shù)中創(chuàng)建名稱相同的局部變量,因?yàn)榫植孔兞恐荒鼙辉谄渲袆?chuàng)建它的函數(shù)識別。

    3.5.2 PHP global 關(guān)鍵詞

    global 關(guān)鍵詞用于訪問函數(shù)內(nèi)的全局變量。

    要做到這一點(diǎn),請?jiān)冢ê瘮?shù)內(nèi)部)變量前面使用 global 關(guān)鍵詞:

    實(shí)例
    <?php$x=5;$y=10;function myTest() {  global $x,$y;  $y=$x+$y;}myTest();echo $y; // 輸出 15?>

    PHP 同時(shí)在名為 $GLOBALS[index] 的數(shù)組中存儲了所有的全局變量。下標(biāo)存有變量名。這個(gè)數(shù)組在函數(shù)內(nèi)也可以訪問,并能夠用于直接更新全局變量。

    上面的例子可以這樣重寫:

    實(shí)例
    <?php$x=5;$y=10;function myTest() {  $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];} myTest();echo $y; // 輸出 15?>

    3.5.3 PHP static 關(guān)鍵詞

    通常,當(dāng)函數(shù)完成/執(zhí)行后,會刪除所有變量。不過,有時(shí)我需要不刪除某個(gè)局部變量。實(shí)現(xiàn)這一點(diǎn)需要更進(jìn)一步的工作。

    要完成這一點(diǎn),請?jiān)谀状温暶髯兞繒r(shí)使用 static 關(guān)鍵詞:

    實(shí)例
    <?phpfunction myTest() {  static $x=0;  echo $x;  $x++;}myTest();myTest();myTest();?>

    然后,每當(dāng)函數(shù)被調(diào)用時(shí),這個(gè)變量所存儲的信息都是函數(shù)最后一次被調(diào)用時(shí)所包含的信息。

    注釋:該變量仍然是函數(shù)的局部變量。

    4、PHP 5 echo 和 print 語句

    在 PHP 中,有兩種基本的輸出方法:echo 和 print。

    4.1 PHP echo 和 print 語句差異

    echo 和 print 之間的差異:

    echo - 能夠輸出一個(gè)以上的字符串print - 只能輸出一個(gè)字符串,并始終返回 1

    提示:echo 比 print 稍快,因?yàn)樗环祷厝魏沃怠?/p>4.2 PHP echo 語句

    echo 是一個(gè)語言結(jié)構(gòu),有無括號均可使用:echo 或 echo()。

    顯示字符串

    下面的例子展示如何用 echo 命令來顯示不同的字符串(同時(shí)請注意字符串中能包含 HTML 標(biāo)記):

    <?phpecho "<h4>PHP is fun!</h4>";echo "Hello world!<br>";echo "I'm about to learn PHP!<br>";echo "This", " string", " was", " made", " with multiple parameters.";?>
    顯示變量

    下面的例子展示如何用 echo 命令來顯示字符串和變量:

    <?php$txt1="Learn PHP";$txt2="W3School.com.cn";$cars=array("Volvo","BMW","SAAB");echo $txt1;echo "<br>";echo "Study PHP at $txt2";echo "My car is a {$cars[0]}";?>

    運(yùn)行結(jié)果

    Learn PHP
    Study PHP at W3School.com.cn
    My car is a Volvo

    4.3 PHP print 語句

    print 也是語言結(jié)構(gòu),有無括號均可使用:print 或 print()。

    顯示字符串

    下面的例子展示如何用 print 命令來顯示不同的字符串(同時(shí)請注意字符串中能包含 HTML 標(biāo)記):

    <?phpprint "<h4>PHP is fun!</h4>";print "Hello world!<br>";print "I'm about to learn PHP!";?>

    運(yùn)行結(jié)果:

    PHP is fun!

    Hello world!
    I'm about to learn PHP!

    顯示變量

    下面的例子展示如何用 print 命令來顯示字符串和變量:

    <?php$txt1="Learn PHP";$txt2="W3School.com.cn";$cars=array("Volvo","BMW","SAAB");print $txt1;print "<br>";print "Study PHP at $txt2";print "My car is a {$cars[0]}";?>

    運(yùn)行結(jié)果:

    Learn PHP
    Study PHP at W3School.com.cn
    My car is a Volvo

    5、PHP 數(shù)據(jù)類型

    字符串、整數(shù)、浮點(diǎn)數(shù)、邏輯、數(shù)組、對象、NULL。

    5.1 PHP 字符串

    字符串是字符序列,比如 "Hello world!"。

    字符串可以是引號內(nèi)的任何文本。您可以使用單引號或雙引號:

    實(shí)例
    <?php $x = "Hello world!";echo $x;echo "<br>"; $x = 'Hello world!';echo $x;?>

    5.2 PHP 整數(shù)

    整數(shù)是沒有小數(shù)的數(shù)字。

    整數(shù)規(guī)則:

    整數(shù)必須有至少一個(gè)數(shù)字(0-9)整數(shù)不能包含逗號或空格整數(shù)不能有小數(shù)點(diǎn)整數(shù)正負(fù)均可可以用三種格式規(guī)定整數(shù):十進(jìn)制、十六進(jìn)制(前綴是 0x)或八進(jìn)制(前綴是 0)

    在下面的例子中,我們將測試不同的數(shù)字。PHP var_dump() 會返回變量的數(shù)據(jù)類型和值:

    實(shí)例
    <?php $x = 5985;var_dump($x);echo "<br>"; $x = -345; // 負(fù)數(shù)var_dump($x);echo "<br>"; $x = 0x8C; // 十六進(jìn)制數(shù)var_dump($x);echo "<br>";$x = 047; // 八進(jìn)制數(shù)var_dump($x);?>

    運(yùn)行結(jié)果:

    int(5985)
    int(-345)
    int(140)
    int(39)

    5.3 PHP 浮點(diǎn)數(shù)

    浮點(diǎn)數(shù)是有小數(shù)點(diǎn)或指數(shù)形式的數(shù)字。

    PHP var_dump() 會返回變量的數(shù)據(jù)類型和值:

    實(shí)例
    <?php $x = 10.365;var_dump($x);echo "<br>"; $x = 2.4e3;var_dump($x);echo "<br>"; $x = 8E-5;var_dump($x);?>

    運(yùn)行結(jié)果:

    float(10.365)
    float(2400)
    float(8.0E-5)

    5.4 PHP 邏輯

    邏輯是 true 或 false。

    $x=true;$y=false;

    邏輯常用于條件測試。

    5.5 PHP 數(shù)組

    數(shù)組在一個(gè)變量中存儲多個(gè)值。

    在下面的例子中,我們將測試不同的數(shù)組。PHP var_dump() 會返回變量的數(shù)據(jù)類型和值:

    實(shí)例
    <?php $cars=array("Volvo","BMW","SAAB");var_dump($cars);?>

    運(yùn)行結(jié)果:

    array(3) { [0]=> string(5) "Volvo" [1]=> string(3) "BMW" [2]=> string(4) "SAAB" }

    5.6 PHP 對象

    對象是存儲數(shù)據(jù)和有關(guān)如何處理數(shù)據(jù)的信息的數(shù)據(jù)類型。

    在 PHP 中,必須明確地聲明對象。

    首先我們必須聲明對象的類。對此,我們使用 class 關(guān)鍵詞。類是包含屬性和方法的結(jié)構(gòu)。

    然后我們在對象類中定義數(shù)據(jù)類型,然后在該類的實(shí)例中使用此數(shù)據(jù)類型:

    實(shí)例
    <?phpclass Car{  var $color;  function Car($color="green") {    $this->color = $color;  }  function what_color() {    return $this->color;  }}?>

    5.7 PHP NULL 值

    特殊的 NULL 值表示變量無值。NULL 是數(shù)據(jù)類型 NULL 唯一可能的值。

    NULL 值標(biāo)示變量是否為空。也用于區(qū)分空字符串與空值數(shù)據(jù)庫。

    可以通過把值設(shè)置為 NULL,將變量清空:

    實(shí)例
    <?php$x="Hello world!";$x=null;var_dump($x);?>

    6、PHP 字符串函數(shù)

    字符串是字符序列,比如 "Hello world!"。

    6.1 PHP strlen() 函數(shù)

    strlen() 函數(shù)返回字符串的長度,以字符計(jì)。

    下例返回字符串 "Hello world!" 的長度:

    實(shí)例
    <?phpecho strlen("Hello world!");?>

    以上代碼的輸出是:12

    提示:strlen() 常用于循環(huán)和其他函數(shù),在確定字符串何時(shí)結(jié)束很重要時(shí)。(例如,在循環(huán)中,我們也許需要在字符串的最后一個(gè)字符之后停止循環(huán))。

    6.2 PHP strpos() 函數(shù)

    strpos() 函數(shù)用于檢索字符串內(nèi)指定的字符或文本。

    如果找到匹配,則會返回首個(gè)匹配的字符位置。如果未找到匹配,則將返回 FALSE。

    下例檢索字符串 "Hello world!" 中的文本 "world":

    實(shí)例
    <?phpecho strpos("Hello world!","world");?>

    以上代碼的輸出是:6。

    提示:上例中字符串 "world" 的位置是 6。是 6(而不是 7)的理由是,字符串中首字符的位置是 0 而不是 1。

    7、PHP 常量

    常量類似變量,但是常量一旦被定義就無法更改或撤銷定義。

    7.1 PHP 常量

    常量是單個(gè)值的標(biāo)識符(名稱)。在腳本中無法改變該值。

    有效的常量名以字符或下劃線開頭(常量名稱前面沒有 $ 符號)。

    注釋:與變量不同,常量貫穿整個(gè)腳本是自動全局的。

    7.2 設(shè)置 PHP 常量

    如需設(shè)置常量,請使用 define() 函數(shù) - 它使用三個(gè)參數(shù):

    首個(gè)參數(shù)定義常量的名稱第二個(gè)參數(shù)定義常量的值可選的第三個(gè)參數(shù)規(guī)定常量名是否對大小寫敏感。默認(rèn)是 false。

    下例創(chuàng)建了一個(gè)對大小寫敏感的常量,值為 "Welcome to W3School.com.cn!":

    實(shí)例
     <!DOCTYPE html><html><body><?php// 定義對大小寫敏感的常量define("GREETING", "Welcome to W3School.com.cn!");echo GREETING;echo "<br>";// 不會輸出常量的值echo greeting;?>  </body></html>

    運(yùn)行結(jié)果:

    Welcome to W3School.com.cn!
    greeting

    下例創(chuàng)建了一個(gè)對大小寫不敏感的常量,值為 "Welcome to W3School.com.cn!":

    實(shí)例
     <!DOCTYPE html><html><body><?php// 定義對大小寫不敏感的常量define("GREETING", "Welcome to W3School.com.cn!", true);echo GREETING;echo "<br>";// 會輸出常量的值echo greeting;?>  </body></html>

    運(yùn)行結(jié)果:

    Welcome to W3School.com.cn!
    Welcome to W3School.com.cn!

    8、PHP 運(yùn)算符

    下面介紹可用于 PHP 腳本中的各種運(yùn)算符.

    8.1 PHP 算數(shù)運(yùn)算符

    php算數(shù)運(yùn)算符

    運(yùn)算符

    名稱

    例子

    結(jié)果

    +

    加法

    $x + $y

    $x與$y求和

    減法

    $x - $y

    $x與$y待的差數(shù)

    *

    乘法

    $x * $y

    $x與$y的乘積

    /

    除法

    $x / $y

    $x與$y的商數(shù)

    %

    模數(shù)

    $x % $y

    $x與$y的余數(shù)

    下例展示了使用不同算數(shù)運(yùn)算符的不同結(jié)果:

    實(shí)例
    <?php $x=10; $y=6;echo ($x + $y); // 輸出 16echo ($x - $y); // 輸出 4echo ($x * $y); // 輸出 60echo ($x / $y); // 輸出 1.6666666666667echo ($x % $y); // 輸出 4?>

    8.2 PHP 賦值運(yùn)算符

    PHP 賦值運(yùn)算符用于向變量寫值。

    PHP 中基礎(chǔ)的賦值運(yùn)算符是 "="。這意味著右側(cè)賦值表達(dá)式會為左側(cè)運(yùn)算數(shù)設(shè)置值。

    賦值

    等同于

    描述

    x = y

    x = y

    右側(cè)表達(dá)式為左側(cè)運(yùn)算數(shù)設(shè)置

    x += y

    x = x + y

    x -= y

    x = x - y

    x *= y

    x = x * y

    x /= y

    x = x / y

    x %= y

    x = x % y

    模數(shù)

    ??PHP 賦值運(yùn)算符

    下例展示了使用不同賦值運(yùn)算符的不同結(jié)果:

    實(shí)例
    <?php $x=10; echo $x; // 輸出 10$y=20; $y += 100;echo $y; // 輸出 120$z=50;$z -= 25;echo $z; // 輸出 25$i=5;$i *= 6;echo $i; // 輸出 30$j=10;$j /= 5;echo $j; // 輸出 2$k=15;$k %= 4;echo $k; // 輸出 3?>

    8.3 PHP 字符串運(yùn)算符

    運(yùn)算符

    名稱

    例子

    結(jié)果

    .

    串接

    $txt1 = "Hello" $txt2 = $txt1 . " world!"

    現(xiàn)在 $txt2 包含 "Hello world!"

    .=

    串接賦值

    $txt1 = "Hello" $txt1 .= " world!"

    現(xiàn)在 $txt1 包含 "Hello world!"

    PHP 字符串運(yùn)算符

    下例展示了使用字符串運(yùn)算符的結(jié)果:

    實(shí)例
    <?php$a = "Hello";$b = $a . " world!";echo $b; // 輸出 Hello world!$x="Hello";$x .= " world!";echo $x; // 輸出 Hello world!?>
    8.4 PHP 遞增/遞減運(yùn)算符

    運(yùn)算符

    名稱

    描述

    ++$x

    前遞增

    $x 加一遞增,然后返回 $x

    $x++

    后遞增

    返回 $x,然后 $x 加一遞增

    --$x

    前遞減

    $x 減一遞減,然后返回 $x

    $x--

    后遞減

    返回 $x,然后 $x 減一遞減

    PHP 遞增/遞減運(yùn)算符

    下例展示了使用不同遞增/遞減運(yùn)算符的不同結(jié)果:

    實(shí)例
    <?php$x=10; echo ++$x; // 輸出 11$y=10; echo $y++; // 輸出 10$z=5;echo --$z; // 輸出 4$i=5;echo $i--; // 輸出 5?>
    8.5 PHP 比較運(yùn)算符

    PHP 比較運(yùn)算符用于比較兩個(gè)值(數(shù)字或字符串):

    運(yùn)算符

    名稱

    例子

    結(jié)果

    ==

    等于

    $x == $y

    如果 $x 等于 $y,則返回 true。

    ===

    全等(完全相同)

    $x === $y

    如果 $x 等于 $y,且它們類型相同,則返回 true。

    !=

    不等于

    $x != $y

    如果 $x 不等于 $y,則返回 true。

    <>

    不等于

    $x <> $y

    如果 $x 不等于 $y,則返回 true。

    !==

    不全等(完全不同)

    $x !== $y

    如果 $x 不等于 $y,且它們類型不相同,則返回 true。

    >

    大于

    $x > $y

    如果 $x 大于 $y,則返回 true。

    <

    小于

    $x < $y

    如果 $x 小于 $y,則返回 true。

    >=

    大于或等于

    $x >= $y

    如果 $x 大于或者等于 $y,則返回 true.

    <=

    小于或等于

    $x <= $y

    如果 $x 小于或者等于 $y,則返回 true

    PHP 比較運(yùn)算符

    下例展示了使用某些比較運(yùn)算符的不同結(jié)果:

    實(shí)例
    <!DOCTYPE html><html><body><?php$x=100; $y="100";var_dump($x == $y); // 因?yàn)橹迪嗟龋祷?trueecho "<br>";var_dump($x === $y); // 因?yàn)轭愋筒幌嗟龋祷?falseecho "<br>";var_dump($x != $y); // 因?yàn)橹迪嗟龋祷?falseecho "<br>";var_dump($x !== $y); // 因?yàn)橹挡幌嗟龋祷?trueecho "<br>";$a=50;$b=90;var_dump($a > $b);echo "<br>";var_dump($a <  $b);?>   </body></html>

    8.6 PHP 邏輯運(yùn)算符

    運(yùn)算符

    名稱

    例子

    結(jié)果

    and

    $x and $y

    如果 $x 和 $y 都為 true,則返回 true。

    or

    $x or $y

    如果 $x 和 $y 至少有一個(gè)為 true,則返回 true。

    xor

    異或

    $x xor $y

    如果 $x 和 $y 有且僅有一個(gè)為 true,則返回 true。

    &&

    $x && $y

    如果 $x 和 $y 都為 true,則返回 true。

    ||

    $x || $y

    如果 $x 和 $y 至少有一個(gè)為 true,則返回 true。

    !

    !$x

    如果 $x 不為 true,則返回 true。

    PHP 邏輯運(yùn)算符
    8.7 PHP 數(shù)組運(yùn)算符

    PHP 數(shù)組運(yùn)算符用于比較數(shù)組:

    運(yùn)算符

    名稱

    例子

    結(jié)果

    +

    聯(lián)合

    $x + $y

    $x 和 $y 的聯(lián)合(但不覆蓋重復(fù)的鍵)

    ==

    相等

    $x == $y

    如果 $x 和 $y 擁有相同的鍵/值對,則返回 true。

    ===

    全等

    $x === $y

    如果 $x 和 $y 擁有相同的鍵/值對,且順序相同類型相同,則返回 true。

    !=

    不相等

    $x != $y

    如果 $x 不等于 $y,則返回 true。

    <>

    不相等

    $x <> $y

    如果 $x 不等于 $y,則返回 true。

    !==

    不全等

    $x !== $y

    如果 $x 與 $y 完全不同,則返回 true。

    PHP 數(shù)組運(yùn)算符

    下例展示了使用不同數(shù)組運(yùn)算符的不同結(jié)果:

    實(shí)例
    <!DOCTYPE html><html><body><?php$x = array("a" => "red", "b" => "green"); $y = array("c" => "blue", "d" => "yellow"); $z = $x + $y; // $x 與 $y 的聯(lián)合var_dump($z);echo "<br>";var_dump($x == $y);echo "<br>";var_dump($x === $y);echo "<br>";var_dump($x != $y);echo "<br>";var_dump($x <> $y);echo "<br>";var_dump($x !== $y);?>   </body></html>


    運(yùn)行結(jié)果:

    array(4) { ["a"]=> string(3) "red" ["b"]=> string(5) "green" ["c"]=> string(4) "blue" ["d"]=> string(6) "yellow" }
    bool(false)
    bool(false)
    bool(true)
    bool(true)
    bool(true)

    9、PHP if...else...elseif 語句

    條件語句用于基于不同條件執(zhí)行不同的動作

    9.1 PHP 條件語句

    在您編寫代碼時(shí),經(jīng)常會希望為不同的決定執(zhí)行不同的動作。您可以在代碼中使用條件語句來實(shí)現(xiàn)這一點(diǎn)。

    在 PHP 中,我們可以使用以下條件語句:

    if 語句 - 如果指定條件為真,則執(zhí)行代碼if...else 語句 - 如果條件為 true,則執(zhí)行代碼;如果條件為 false,則執(zhí)行另一端代碼if...elseif....else 語句 - 選擇若干段代碼塊之一來執(zhí)行switch 語句 - 語句多個(gè)代碼塊之一來執(zhí)行9.2 PHP - if 語句

    if 語句用于在指定條件為 true 時(shí)執(zhí)行代碼。

    語法
    if (條件) {  當(dāng)條件為 true 時(shí)執(zhí)行的代碼;}

    下例將輸出 "Have a good day!",如果當(dāng)前時(shí)間 (HOUR) 小于 20:

    實(shí)例
    <?php$t=date("H");if ($t<"20") {  echo "Have a good day!";}?>
    9.3 PHP - if...else 語句

    請使用 if....else 語句在條件為 true 時(shí)執(zhí)行代碼在條件為 false 時(shí)執(zhí)行另一段代碼

    語法
    if (條件) {  條件為 true 時(shí)執(zhí)行的代碼;} else {  條件為 false 時(shí)執(zhí)行的代碼;}

    下例將輸出 "Have a good day!",如果當(dāng)前時(shí)間 (HOUR) 小于 20,否則輸出 "Have a good night!":

    實(shí)例
    <?php$t=date("H");if ($t<"20") {  echo "Have a good day!";} else {  echo "Have a good night!";}?>
    9.4 PHP - if...elseif....else 語句

    請使用 if....elseif...else 語句來選擇若干代碼塊之一來執(zhí)行

    語法
    if (條件) {  條件為 true 時(shí)執(zhí)行的代碼;} elseif (condition) {  條件為 true 時(shí)執(zhí)行的代碼;} else {  條件為 false 時(shí)執(zhí)行的代碼;}

    下例將輸出 "Have a good morning!",如果當(dāng)前時(shí)間 (HOUR) 小于 10,如果當(dāng)前時(shí)間小于 20,則輸出 "Have a good day!"。否則將輸出 "Have a good night!":

    實(shí)例
    <?php$t=date("H");if ($t<"10") {  echo "Have a good morning!";} elseif ($t<"20") {  echo "Have a good day!";} else {  echo "Have a good night!";}?>

    9.5 PHP Switch 語句

    switch 語句用于基于不同條件執(zhí)行不同動作。

    如果希望有選擇地執(zhí)行若干代碼塊之一,請使用 Switch 語句。

    使用 Switch 語句可以避免冗長的 if..elseif..else 代碼塊。

    語法
    switch (expression){case label1:  code to be executed if expression = label1;  break;  case label2:  code to be executed if expression = label2;  break;default:  code to be executed  if expression is different   from both label1 and label2;}

    工作原理:

    對表達(dá)式(通常是變量)進(jìn)行一次計(jì)算把表達(dá)式的值與結(jié)構(gòu)中 case 的值進(jìn)行比較如果存在匹配,則執(zhí)行與 case 關(guān)聯(lián)的代碼代碼執(zhí)行后,break 語句阻止代碼跳入下一個(gè) case 中繼續(xù)執(zhí)行如果沒有 case 為真,則使用 default 語句實(shí)例
    <?phpswitch ($x){case 1:  echo "Number 1";  break;case 2:  echo "Number 2";  break;case 3:  echo "Number 3";  break;default:  echo "No number between 1 and 3";}?></body></html>

    10、PHP while 循環(huán)

    PHP while 循環(huán)在指定條件為 true 時(shí)執(zhí)行代碼塊。

    10.1 PHP 循環(huán)

    在編寫代碼時(shí),經(jīng)常需要反復(fù)運(yùn)行同一代碼塊。可以使用循環(huán)來執(zhí)行這樣的任務(wù),而不是在腳本中添加若干幾乎相等的代碼行。

    在 PHP 中,我們有以下循環(huán)語句:

    while - 只要指定條件為真,則循環(huán)代碼塊do...while - 先執(zhí)行一次代碼塊,然后只要指定條件為真則重復(fù)循環(huán)for - 循環(huán)代碼塊指定次數(shù)foreach - 遍歷數(shù)組中的每個(gè)元素并循環(huán)代碼塊10.2 PHP while 循環(huán)

    只要指定的條件為真,while 循環(huán)就會執(zhí)行代碼塊。

    語法
    while (條件為真) {  要執(zhí)行的代碼;}

    下例首先把變量 $x 設(shè)置為 1($x=1)。然后執(zhí)行 while 循環(huán),只要 $x 小于或等于 5。循環(huán)每運(yùn)行一次,$x 將遞增 1:

    實(shí)例
    <?php $x=1; while($x<=5) {  echo "這個(gè)數(shù)字是:$x <br>";  $x++;} ?>
    10.3 PHP do...while 循環(huán)

    do...while 循環(huán)首先會執(zhí)行一次代碼塊,然后檢查條件,如果指定條件為真,則重復(fù)循環(huán)。

    語法
    do {  要執(zhí)行的代碼;} while (條件為真);

    下面的例子首先把變量 $x 設(shè)置為 1($x=1)。然后,do while 循環(huán)輸出一段字符串,然后對變量 $x 遞增 1。隨后對條件進(jìn)行檢查($x 是否小于或等于 5)。只要 $x 小于或等于 5,循環(huán)將會繼續(xù)運(yùn)行:

    實(shí)例
    <?php $x=1; do {  echo "這個(gè)數(shù)字是:$x <br>";  $x++;} while ($x<=5);?>

    請注意,do while 循環(huán)只在執(zhí)行循環(huán)內(nèi)的語句之后才對條件進(jìn)行測試。這意味著 do while 循環(huán)至少會執(zhí)行一次語句,即使條件測試在第一次就失敗了。

    下面的例子把 $x 設(shè)置為 6,然后運(yùn)行循環(huán),隨后對條件進(jìn)行檢查

    實(shí)例
    <?php $x=6;do {  echo "這個(gè)數(shù)字是:$x <br>";  $x++;} while ($x<=5);?>

    10.4 PHP for 循環(huán)

    PHP for 循環(huán)執(zhí)行代碼塊指定的次數(shù)。

    如果已提前確定腳本運(yùn)行的次數(shù),可以使用 for 循環(huán)。

    語法
    for (init counter; test counter; increment counter) {  code to be executed;}

    參數(shù):

    init counter:初始化循環(huán)計(jì)數(shù)器的值test counter:: 評估每個(gè)循環(huán)迭代。如果值為 TRUE,繼續(xù)循環(huán)。如果它的值為 FALSE,循環(huán)結(jié)束。increment counter:增加循環(huán)計(jì)數(shù)器的值

    下面的例子顯示了從 0 到 10 的數(shù)字:

    實(shí)例
    <?php for ($x=0; $x<=10; $x++) {  echo "數(shù)字是:$x <br>";} ?>
    10.5 PHP foreach 循環(huán)

    foreach 循環(huán)只適用于數(shù)組,并用于遍歷數(shù)組中的每個(gè)鍵/值對。

    語法
    foreach ($array as $value) {  code to be executed;}

    每進(jìn)行一次循環(huán)迭代,當(dāng)前數(shù)組元素的值就會被賦值給 $value 變量,并且數(shù)組指針會逐一地移動,直到到達(dá)最后一個(gè)數(shù)組元素。

    下面的例子演示的循環(huán)將輸出給定數(shù)組($colors)的值:

    實(shí)例
    <!DOCTYPE html><html><body><?php $colors = array("red","green","blue","yellow"); foreach ($colors as $value) {   echo "$value <br>";}?>   </body></html>

    運(yùn)行結(jié)果:

    red
    green
    blue
    yellow

    11、PHP 函數(shù)

    PHP 的真正力量來自它的函數(shù):它擁有超過 1000 個(gè)內(nèi)建的函數(shù)。

    11.1 PHP 用戶定義函數(shù)

    除了內(nèi)建的 PHP 函數(shù),我們可以創(chuàng)建我們自己的函數(shù)。

    函數(shù)是可以在程序中重復(fù)使用的語句塊。

    頁面加載時(shí)函數(shù)不會立即執(zhí)行。

    函數(shù)只有在被調(diào)用時(shí)才會執(zhí)行。

    11.2 在 PHP 創(chuàng)建用戶定義函數(shù)

    用戶定義的函數(shù)聲明以關(guān)單 "function" 開頭:

    語法
    function functionName() {  被執(zhí)行的代碼;}

    注釋:函數(shù)名能夠以字母或下劃線開頭(而非數(shù)字)。

    注釋:函數(shù)名對大小寫不敏感。

    提示:函數(shù)名應(yīng)該能夠反映函數(shù)所執(zhí)行的任務(wù)。

    在下面的例子中,我們創(chuàng)建名為 "writeMsg()" 的函數(shù)。打開的花括號({)指示函數(shù)代碼的開始,而關(guān)閉的花括號(})指示函數(shù)的結(jié)束。此函數(shù)輸出 "Hello world!"。如需調(diào)用該函數(shù),只要使用函數(shù)名即可:

    實(shí)例
    <?phpfunction writeMsg() {  echo "Hello world!";}writeMsg(); // 調(diào)用函數(shù)?>
    11.3 PHP 函數(shù)參數(shù)

    可以通過參數(shù)向函數(shù)傳遞信息。參數(shù)類似變量。

    參數(shù)被定義在函數(shù)名之后,括號內(nèi)部。您可以添加任意多參數(shù),只要用逗號隔開即可。

    下面的例子中的函數(shù)有一個(gè)參數(shù)($fname)。當(dāng)調(diào)用 familyName() 函數(shù)時(shí),我們同時(shí)要傳遞一個(gè)名字(例如 Bill),這樣會輸出不同的名字,但是姓氏相同:

    實(shí)例
    <!DOCTYPE html><html><body><?phpfunction familyName($fname) {  echo "$fname Zhang.<br>";}familyName("Li");familyName("Hong");familyName("Tao");familyName("Xiao Mei");familyName("Jian");?></body></html>

    運(yùn)行結(jié)果

    Li Zhang.
    Hong Zhang.
    Tao Zhang.
    Xiao Mei Zhang.
    Jian Zhang.

    下面的例子中的函數(shù)有兩個(gè)參數(shù)($fname 和 $year):

    實(shí)例
    <!DOCTYPE html><html><body><?phpfunction familyName($fname,$year) {  echo "$fname Zhang. Born in $year <br>";}familyName("Li","1975");familyName("Hong","1978");familyName("Tao","1983");?></body></html>

    運(yùn)行結(jié)果:

    Li Zhang. Born in 1975
    Hong Zhang. Born in 1978
    Tao Zhang. Born in 1983

    11.4 PHP 默認(rèn)參數(shù)值

    下面的例子展示了如何使用默認(rèn)參數(shù)。如果我們調(diào)用沒有參數(shù)的 setHeight() 函數(shù),它的參數(shù)會取默認(rèn)值:

    實(shí)例
    <?phpfunction setHeight($minheight=50) {  echo "The height is : $minheight <br>";}setHeight(350);setHeight(); // 將使用默認(rèn)值 50setHeight(135);setHeight(80);?>
    11.5 PHP 函數(shù) - 返回值

    如需使函數(shù)返回值,請使用 return 語句:

    實(shí)例

    <!DOCTYPE html><html><body><?phpfunction sum($x,$y) {   $z=$x+$y;   return $z;}echo "5 + 10 = " . sum(5,10) . "<br>";echo "7 + 13 = " . sum(7,13) . "<br>";echo "2 + 4 = " . sum(2,4);?></body></html>

    運(yùn)行結(jié)果:

    5 + 10 = 15
    7 + 13 = 20
    2 + 4 = 6

    12、PHP 數(shù)組

    數(shù)組能夠在單獨(dú)的變量名中存儲一個(gè)或多個(gè)值。

    實(shí)例

    數(shù)組在單個(gè)變量中存儲多個(gè)值:

    <?php$cars=array("Volvo","BMW","SAAB");echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";?>
    12.1 什么是數(shù)組?

    數(shù)組是特殊的變量,它可以同時(shí)保存一個(gè)以上的值。

    如果有一個(gè)項(xiàng)目列表(例如汽車品牌列表),在單個(gè)變量中存儲這些品牌名稱是這樣的:

    $cars1="Volvo";$cars2="BMW";$cars3="SAAB";

    不過,假如希望對變量進(jìn)行遍歷并找出特定的那個(gè)值?或者如果需要存儲 300 個(gè)汽車品牌,而不是 3 個(gè)呢?

    解決方法是創(chuàng)建數(shù)組!

    數(shù)組能夠在單一變量名中存儲許多值,并且能夠通過引用下標(biāo)號來訪問某個(gè)值。

    12.2 在 PHP 中創(chuàng)建數(shù)組

    在 PHP 中, array() 函數(shù)用于創(chuàng)建數(shù)組:

    array();

    在 PHP 中,有三種數(shù)組類型:

    索引數(shù)組 - 帶有數(shù)字索引的數(shù)組關(guān)聯(lián)數(shù)組 - 帶有指定鍵的數(shù)組多維數(shù)組 - 包含一個(gè)或多個(gè)數(shù)組的數(shù)組12.3 PHP 索引數(shù)組

    有兩種創(chuàng)建索引數(shù)組的方法:

    索引是自動分配的(索引從 0 開始):

    $cars=array("Volvo","BMW","SAAB");

    或者也可以手動分配索引:

    $cars[0]="Volvo";$cars[1]="BMW";$cars[2]="SAAB";

    下面的例子創(chuàng)建名為 $cars 的索引數(shù)組,為其分配三個(gè)元素,然后輸出包含數(shù)組值的一段文本:

    實(shí)例
    <!DOCTYPE html><html><body><?php$cars=array("Volvo","BMW","SAAB"); echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";?></body></html>

    運(yùn)行結(jié)果:

    I like Volvo, BMW and SAAB.

    12.4 獲得數(shù)組的長度 - count() 函數(shù)

    count() 函數(shù)用于返回?cái)?shù)組的長度(元素?cái)?shù)):

    實(shí)例
    <?php$cars=array("Volvo","BMW","SAAB");echo count($cars);?>

    上例輸出 3

    12.5 遍歷索引數(shù)組

    如需遍歷并輸出索引數(shù)組的所有值,可以使用 for 循環(huán),就像這樣:

    實(shí)例
    <?php$cars=array("Volvo","BMW","SAAB");$arrlength=count($cars);for($x=0;$x<$arrlength;$x++) {  echo $cars[$x];  echo "<br>";}?>
    12.6 PHP 關(guān)聯(lián)數(shù)組

    關(guān)聯(lián)數(shù)組是使用您分配給數(shù)組的指定鍵的數(shù)組。

    有兩種創(chuàng)建關(guān)聯(lián)數(shù)組的方法:

    $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");

    或者:

    $age['Peter']="35";$age['Ben']="37";$age['Joe']="43";

    隨后可以在腳本中使用指定鍵:

    實(shí)例
    <!DOCTYPE html><html><body><?php$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");echo "Peter is " . $age['Peter'] . " years old.";?></body></html>

    以上例子輸出:Peter is 43 years old.

    12.7 遍歷關(guān)聯(lián)數(shù)組

    如需遍歷并輸出關(guān)聯(lián)數(shù)組的所有值,可以使用 foreach 循環(huán),就像這樣:

    實(shí)例
    <!DOCTYPE html><html><body><?php$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");foreach($age as $x=>$x_value) {   echo "Key=" . $x . ", Value=" . $x_value;   echo "<br>";}?></body></html>

    運(yùn)行結(jié)果:

    Key=Bill, Value=35
    Key=Steve, Value=37
    Key=Peter, Value=43

    12.8 多維數(shù)組

    在PHP 高級知識中再介紹。

    13、PHP 數(shù)組排序

    數(shù)組中的元素能夠以字母或數(shù)字順序進(jìn)行升序或降序排序。

    13.1 PHP - 數(shù)組的排序函數(shù)

    PHP 數(shù)組排序函數(shù)如下 :

      sort() - 以升序?qū)?shù)組排序rsort() - 以降序?qū)?shù)組排序asort() - 根據(jù)值,以升序?qū)﹃P(guān)聯(lián)數(shù)組進(jìn)行排序ksort() - 根據(jù)鍵,以升序?qū)﹃P(guān)聯(lián)數(shù)組進(jìn)行排序arsort() - 根據(jù)值,以降序?qū)﹃P(guān)聯(lián)數(shù)組進(jìn)行排序krsort() - 根據(jù)鍵,以降序?qū)﹃P(guān)聯(lián)數(shù)組進(jìn)行排序13.2 對數(shù)組進(jìn)行升序排序 - sort()

      下面的例子按照字母升序?qū)?shù)組 $cars 中的元素進(jìn)行排序:

      實(shí)例
      <!DOCTYPE html><html><body><?php$cars=array("Volvo","BMW","SAAB");sort($cars);$clength=count($cars);for($x=0;$x<$clength;$x++)   {   echo $cars[$x];   echo "<br>";   }?></body></html>

      運(yùn)行結(jié)果:

      BMW
      SAAB
      Volvo

      下面的例子按照數(shù)字升序?qū)?shù)組 $numbers 中的元素進(jìn)行排序:

      實(shí)例
      <?php$numbers=array(3,5,1,22,11);sort($numbers);?>
      13.3 對數(shù)組進(jìn)行降序排序 - rsort()

      下面的例子按照字母降序?qū)?shù)組 $cars 中的元素進(jìn)行排序:

      實(shí)例
      <?php$cars=array("Volvo","BMW","SAAB");rsort($cars);?>

      下面的例子按照數(shù)字降序?qū)?shù)組 $numbers 中的元素進(jìn)行排序:

      實(shí)例
      <?php$numbers=array(3,5,1,22,11);rsort($numbers);?>
      13.4 根據(jù)值對數(shù)組進(jìn)行升序排序 - asort()

      下面的例子根據(jù)值對關(guān)聯(lián)數(shù)組進(jìn)行升序排序:

      實(shí)例
      <!DOCTYPE html><html><body><?php$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");asort($age);foreach($age as $x=>$x_value)    {    echo "Key=" . $x . ", Value=" . $x_value;    echo "<br>";    }?></body></html>

      運(yùn)行結(jié)果:

      Key=Bill, Value=35
      Key=Steve, Value=37
      Key=Peter, Value=43

      13.5 根據(jù)鍵對數(shù)組進(jìn)行升序排序 - ksort()

      下面的例子根據(jù)鍵對關(guān)聯(lián)數(shù)組進(jìn)行升序排序:

      實(shí)例
      <?php$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");ksort($age);?>
      13.6 根據(jù)值對數(shù)組進(jìn)行降序排序 - arsort()

      下面的例子根據(jù)值對關(guān)聯(lián)數(shù)組進(jìn)行降序排序:

      實(shí)例
      <!DOCTYPE html><html><body><?php$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");arsort($age);foreach($age as $x=>$x_value)    {    echo "Key=" . $x . ", Value=" . $x_value;    echo "<br>";    }?></body></html>

      運(yùn)行結(jié)果:

      Key=Peter, Value=43
      Key=Steve, Value=37
      Key=Bill, Value=35

      13.7 根據(jù)鍵對數(shù)組進(jìn)行降序排序 - krsort()

      下面的例子根據(jù)鍵對關(guān)聯(lián)數(shù)組進(jìn)行降序排序:

      實(shí)例
      <?php$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");krsort($age);?>

      14、PHP 全局變量 - 超全局變量

      超全局變量 在 PHP 4.1.0 中引入,是在全部作用域中始終可用的內(nèi)置變量。

      14.1 PHP 全局變量 - 超全局變量

      PHP 中的許多預(yù)定義變量都是“超全局的”,這意味著它們在一個(gè)腳本的全部作用域中都可用。在函數(shù)或方法中無需執(zhí)行 global $variable; 就可以訪問它們。

      這些超全局變量是:

      $GLOBALS$_SERVER$_REQUEST$_POST$_GET$_FILES$_ENV$_COOKIE$_SESSION14.2 $GLOBALS — 引用全局作用域中可用的全部變量

      $GLOBALS 這種全局變量用于在 PHP 腳本中的任意位置訪問全局變量(從函數(shù)或方法中均可)。

      PHP 在名為 $GLOBALS[index] 的數(shù)組中存儲了所有全局變量。變量的名字就是數(shù)組的鍵。

      下面的例子輸出95,展示了如何使用超級全局變量 $GLOBALS:

      實(shí)例
      <!DOCTYPE html><html><body><?php $x = 30;$y = 65; function addition() {   $GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];}addition();echo $z;?></body></html>

      在上面的例子中,由于 z 是 $GLOBALS 數(shù)組中的變量,因此在函數(shù)之外也可以訪問它。

      14.3 PHP $_SERVER

      $_SERVER 這種超全局變量保存關(guān)于報(bào)頭、路徑和腳本位置的信息。

      下面的例子展示了如何使用 $_SERVER 中的某些元素:

      實(shí)例
      <!DOCTYPE html><html><body><?php echo $_SERVER['PHP_SELF'];echo "<br>";echo $_SERVER['SERVER_NAME'];echo "<br>";echo $_SERVER['HTTP_HOST'];echo "<br>";echo $_SERVER['HTTP_REFERER'];echo "<br>";echo $_SERVER['HTTP_USER_AGENT'];echo "<br>";echo $_SERVER['SCRIPT_NAME'];?></body></html>

      運(yùn)行結(jié)果;

      /example/php/demo_php_global_server.php
      www.w3school.com.cn
      www.w3school.com.cn
      http://www.w3school.com.cn/tiy/s.asp?f=demo_php_global_server
      Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
      /example/php/demo_php_global_server.php

      下表列出了您能夠在 $_SERVER 中訪問的最重要的元素:

      元素/代碼 描述 $_SERVER['PHP_SELF'] 返回當(dāng)前執(zhí)行腳本的文件名。 $_SERVER['GATEWAY_INTERFACE'] 返回服務(wù)器使用的 CGI 規(guī)范的版本。 $_SERVER['SERVER_ADDR'] 返回當(dāng)前運(yùn)行腳本所在的服務(wù)器的 IP 地址。 $_SERVER['SERVER_NAME'] 返回當(dāng)前運(yùn)行腳本所在的服務(wù)器的主機(jī)名(比如 www.w3school.com.cn)。 $_SERVER['SERVER_SOFTWARE'] 返回服務(wù)器標(biāo)識字符串(比如 Apache/2.2.24)。 $_SERVER['SERVER_PROTOCOL'] 返回請求頁面時(shí)通信協(xié)議的名稱和版本(例如,“HTTP/1.0”)。 $_SERVER['REQUEST_METHOD'] 返回訪問頁面使用的請求方法(例如 POST)。 $_SERVER['REQUEST_TIME'] 返回請求開始時(shí)的時(shí)間戳(例如 1577687494)。 $_SERVER['QUERY_STRING'] 返回查詢字符串,如果是通過查詢字符串訪問此頁面。 $_SERVER['HTTP_ACCEPT'] 返回來自當(dāng)前請求的請求頭。 $_SERVER['HTTP_ACCEPT_CHARSET'] 返回來自當(dāng)前請求的 Accept_Charset 頭( 例如 utf-8,ISO-8859-1) $_SERVER['HTTP_HOST'] 返回來自當(dāng)前請求的 Host 頭。 $_SERVER['HTTP_REFERER'] 返回當(dāng)前頁面的完整 URL(不可靠,因?yàn)椴皇撬杏脩舸矶贾С郑? $_SERVER['HTTPS'] 是否通過安全 HTTP 協(xié)議查詢腳本。 $_SERVER['REMOTE_ADDR'] 返回瀏覽當(dāng)前頁面的用戶的 IP 地址。 $_SERVER['REMOTE_HOST'] 返回瀏覽當(dāng)前頁面的用戶的主機(jī)名。 $_SERVER['REMOTE_PORT'] 返回用戶機(jī)器上連接到 Web 服務(wù)器所使用的端口號。 $_SERVER['SCRIPT_FILENAME'] 返回當(dāng)前執(zhí)行腳本的絕對路徑。 $_SERVER['SERVER_ADMIN'] 該值指明了 Apache 服務(wù)器配置文件中的 SERVER_ADMIN 參數(shù)。 $_SERVER['SERVER_PORT'] Web 服務(wù)器使用的端口。默認(rèn)值為 “80”。 $_SERVER['SERVER_SIGNATURE'] 返回服務(wù)器版本和虛擬主機(jī)名。 $_SERVER['PATH_TRANSLATED'] 當(dāng)前腳本所在文件系統(tǒng)(非文檔根目錄)的基本路徑。 $_SERVER['SCRIPT_NAME'] 返回當(dāng)前腳本的路徑。 $_SERVER['SCRIPT_URI'] 返回當(dāng)前頁面的 URI。
      $_SERVER

      14.4 PHP $_REQUEST

      PHP $_REQUEST 用于收集 HTML 表單提交的數(shù)據(jù)。

      下面的例子展示了一個(gè)包含輸入字段及提交按鈕的表單。當(dāng)用戶通過點(diǎn)擊提交按鈕來提交表單數(shù)據(jù)時(shí), 表單數(shù)據(jù)將發(fā)送到 <form> 標(biāo)簽的 action 屬性中指定的腳本文件。在這個(gè)例子中,我們指定文件本身來處理表單數(shù)據(jù)。如果您需要使用其他的 PHP 文件來處理表單數(shù)據(jù),請修改為您選擇的文件名即可。然后,我們可以使用超級全局變量 $_REQUEST 來收集 input 字段的值:

      實(shí)例
      <html><body><form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">Name: <input type="text" name="fname"><input type="submit"></form><?php $name = $_REQUEST['fname']; echo $name; ?></body></html>
      14.5 PHP $_POST

      PHP $_POST 廣泛用于收集提交 method="post" 的 HTML 表單后的表單數(shù)據(jù)。$_POST 也常用于傳遞變量。

      下面的例子展示了一個(gè)包含輸入字段和提交按鈕的表單。當(dāng)用戶點(diǎn)擊提交按鈕來提交數(shù)據(jù)后,表單數(shù)據(jù)會發(fā)送到 <form> 標(biāo)簽的 action 屬性中指定的文件。在本例中,我們指定文件本身來處理表單數(shù)據(jù)。如果您希望使用另一個(gè) PHP 頁面來處理表單數(shù)據(jù),請用更改為您選擇的文件名。然后,我們可以使用超全局變量 $_POST 來收集輸入字段的值:

      實(shí)例
      <html><body><form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">Name: <input type="text" name="fname"><input type="submit"></form><?php $name = $_POST['fname']; echo $name; ?></body></html>
      14.6 PHP $_GET

      PHP $_GET 也可用于收集提交 HTML 表單 (method="get") 之后的表單數(shù)據(jù)。

      $_GET 也可以收集 URL 中的發(fā)送的數(shù)據(jù)。

      假設(shè)我們有一張頁面含有帶參數(shù)的超鏈接

      <html><body><a href="test_get.php?subject=PHP&web=W3school.com.cn">測試 $GET</a></body></html>

      當(dāng)用戶點(diǎn)擊鏈接 "Test $GET",參數(shù) "subject" 和 "web" 被發(fā)送到 "test_get.php",然后您就能夠通過 $_GET 在 "test_get.php" 中訪問這些值了。

      下面的例子是 "test_get.php" 中的代碼:

      實(shí)例
      <html><body><?php echo "Study " . $_GET['subject'] . " at " . $_GET['web'];?></body></html>

      PHP編程

      鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

  • 發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗(yàn)證碼: 匿名發(fā)表
    主站蜘蛛池模板: 国产做爰全免费的视频黑人 | 精品中文字幕久久久久四十五十骆 | 久久久一区二区 | 欧美成人精品一区二区男人小说 | www.91视频com | 黄色网电影 | 深夜视频在线观看 | 国产亚洲精彩视频 | 免费一级高清毛片 | 国产亚洲精品久久午夜玫瑰园 | 欧美黄色一级生活片 | 国产精品久久av | 黄色视频a级毛片 | 欧美日韩中文字幕在线视频 | 色婷婷久久久亚洲一区二区三区 | 中午字幕无线码一区2020 | 国产成人自拍av | 国产免费观看电影网站 | 色视频在线观看 | av在线观| 久久精品一区二区三区四区五区 | 黄色免费小网站 | 国产日产精品一区二区三区四区 | 欧美国产成人在线 | 国产99久久精品一区二区 | 欧美成人免费香蕉 | 强伦女教师视频 | 伊久在线 | 在线看一区二区三区 | av免费大全 | 手机免费看一级片 | 免费国产成人高清在线看软件 | 蜜桃网在线 | 国产免费一区 | 麻豆视频在线播放 | 国产精品一区在线看 | 中日无线码1区 | 91看片片| 羞羞视频免费观看入口 | 精品国产乱码久久久久久丨区2区 | 久草手机在线视频 |