国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > 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 沒有成本,可供免費下載和使用1.2 PHP 是一門令人驚嘆的流行語言!它強大到足以成為在網(wǎng)絡(luò)上最大的博客系統(tǒng)的核心(WordPress)!它深邃到足以運行最大的社交網(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ù)進行加密

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

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

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

    2、PHP 語法

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

    2.1 基礎(chǔ) PHP 語法

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

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

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

    PHP 文件的默認文件擴展名是 ".php"。

    PHP 文件通常包含 HTML 標簽以及一些 PHP 腳本代碼。

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

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

    運行結(jié)果:

    我的第一張 PHP 頁面

    Hello World!

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

    2.2 PHP 中的注釋

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

    注釋用于:

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

    2.3 PHP 大小寫敏感

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

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

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

    運行結(jié)果:

    Hello World!
    Hello World!
    Hello World!

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

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

    實例
    <!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>

    運行結(jié)果

    My car is red
    My house is
    My boat is

    3、PHP 變量

    變量是存儲信息的容器:

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

    運行結(jié)果:

    11

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

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

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

    在 PHP 中,這三個字母被稱為變量

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

    3.2 PHP 變量

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

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

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

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

    3.3 創(chuàng)建 PHP 變量

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

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

    實例
    <?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 中,可以在腳本的任意位置對變量進行聲明。

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

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

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

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

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

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

    實例
    <?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";?>

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

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

    然后,如果在 myTest() 函數(shù)之外輸出兩個變量的值,那么會輸出 $x 的值,但是不會輸出 $y 的值,因為它是局部變量,并且在 myTest() 內(nèi)部創(chuàng)建。

    注釋:您可以在不同的函數(shù)中創(chuàng)建名稱相同的局部變量,因為局部變量只能被在其中創(chuàng)建它的函數(shù)識別。

    3.5.2 PHP global 關(guān)鍵詞

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

    要做到這一點,請在(函數(shù)內(nèi)部)變量前面使用 global 關(guān)鍵詞:

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

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

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

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

    3.5.3 PHP static 關(guān)鍵詞

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

    要完成這一點,請在您首次聲明變量時使用 static 關(guān)鍵詞:

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

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

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

    4、PHP 5 echo 和 print 語句

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

    4.1 PHP echo 和 print 語句差異

    echo 和 print 之間的差異:

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

    提示:echo 比 print 稍快,因為它不返回任何值。

    4.2 PHP echo 語句

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

    顯示字符串

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

    <?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]}";?>

    運行結(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 命令來顯示不同的字符串(同時請注意字符串中能包含 HTML 標記):

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

    運行結(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]}";?>

    運行結(jié)果:

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

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

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

    5.1 PHP 字符串

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

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

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

    5.2 PHP 整數(shù)

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

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

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

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

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

    運行結(jié)果:

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

    5.3 PHP 浮點數(shù)

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

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

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

    運行結(jié)果:

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

    5.4 PHP 邏輯

    邏輯是 true 或 false。

    $x=true;$y=false;

    邏輯常用于條件測試。

    5.5 PHP 數(shù)組

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

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

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

    運行結(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ù)據(jù)類型:

    實例
    <?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 值標示變量是否為空。也用于區(qū)分空字符串與空值數(shù)據(jù)庫。

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

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

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

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

    6.1 PHP strlen() 函數(shù)

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

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

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

    以上代碼的輸出是:12

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

    6.2 PHP strpos() 函數(shù)

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

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

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

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

    以上代碼的輸出是:6。

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

    7、PHP 常量

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

    7.1 PHP 常量

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

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

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

    7.2 設(shè)置 PHP 常量

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

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

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

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

    運行結(jié)果:

    Welcome to W3School.com.cn!
    greeting

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

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

    運行結(jié)果:

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

    8、PHP 運算符

    下面介紹可用于 PHP 腳本中的各種運算符.

    8.1 PHP 算數(shù)運算符

    php算數(shù)運算符

    運算符

    名稱

    例子

    結(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ù)運算符的不同結(jié)果:

    實例
    <?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 賦值運算符

    PHP 賦值運算符用于向變量寫值。

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

    賦值

    等同于

    描述

    x = y

    x = y

    右側(cè)表達式為左側(cè)運算數(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 賦值運算符

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

    實例
    <?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 字符串運算符

    運算符

    名稱

    例子

    結(jié)果

    .

    串接

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

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

    .=

    串接賦值

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

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

    PHP 字符串運算符

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

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

    運算符

    名稱

    描述

    ++$x

    前遞增

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

    $x++

    后遞增

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

    --$x

    前遞減

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

    $x--

    后遞減

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

    PHP 遞增/遞減運算符

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

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

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

    運算符

    名稱

    例子

    結(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 比較運算符

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

    實例
    <!DOCTYPE html><html><body><?php$x=100; $y="100";var_dump($x == $y); // 因為值相等,返回 trueecho "<br>";var_dump($x === $y); // 因為類型不相等,返回 falseecho "<br>";var_dump($x != $y); // 因為值相等,返回 falseecho "<br>";var_dump($x !== $y); // 因為值不相等,返回 trueecho "<br>";$a=50;$b=90;var_dump($a > $b);echo "<br>";var_dump($a <  $b);?>   </body></html>

    8.6 PHP 邏輯運算符

    運算符

    名稱

    例子

    結(jié)果

    and

    $x and $y

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

    or

    $x or $y

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

    xor

    異或

    $x xor $y

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

    &&

    $x && $y

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

    ||

    $x || $y

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

    !

    !$x

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

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

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

    運算符

    名稱

    例子

    結(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ù)組運算符

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

    實例
    <!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>


    運行結(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 條件語句

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

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

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

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

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

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

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

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

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

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

    實例
    <?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 時執(zhí)行的代碼;} elseif (condition) {  條件為 true 時執(zhí)行的代碼;} else {  條件為 false 時執(zhí)行的代碼;}

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

    實例
    <?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;}

    工作原理:

    對表達式(通常是變量)進行一次計算把表達式的值與結(jié)構(gòu)中 case 的值進行比較如果存在匹配,則執(zhí)行與 case 關(guān)聯(lián)的代碼代碼執(zhí)行后,break 語句阻止代碼跳入下一個 case 中繼續(xù)執(zhí)行如果沒有 case 為真,則使用 default 語句實例
    <?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 時執(zhí)行代碼塊。

    10.1 PHP 循環(huán)

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

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

    while - 只要指定條件為真,則循環(huán)代碼塊do...while - 先執(zhí)行一次代碼塊,然后只要指定條件為真則重復(fù)循環(huán)for - 循環(huán)代碼塊指定次數(shù)foreach - 遍歷數(shù)組中的每個元素并循環(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)每運行一次,$x 將遞增 1:

    實例
    <?php $x=1; while($x<=5) {  echo "這個數(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。隨后對條件進行檢查($x 是否小于或等于 5)。只要 $x 小于或等于 5,循環(huán)將會繼續(xù)運行:

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

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

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

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

    10.4 PHP for 循環(huán)

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

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

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

    參數(shù):

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

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

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

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

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

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

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

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

    運行結(jié)果:

    red
    green
    blue
    yellow

    11、PHP 函數(shù)

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

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

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

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

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

    函數(shù)只有在被調(diào)用時才會執(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ù)名即可:

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

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

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

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

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

    運行結(jié)果

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

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

    實例
    <!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>

    運行結(jié)果:

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

    11.4 PHP 默認參數(shù)值

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

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

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

    實例

    <!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>

    運行結(jié)果:

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

    12、PHP 數(shù)組

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

    實例

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

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

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

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

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

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

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

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

    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ù)組 - 包含一個或多個數(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ù)組,為其分配三個元素,然后輸出包含數(shù)組值的一段文本:

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

    運行結(jié)果:

    I like Volvo, BMW and SAAB.

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

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

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

    上例輸出 3

    12.5 遍歷索引數(shù)組

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

    實例
    <?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";

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

    實例
    <!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),就像這樣:

    實例
    <!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>

    運行結(jié)果:

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

    12.8 多維數(shù)組

    在PHP 高級知識中再介紹。

    13、PHP 數(shù)組排序

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

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

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

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

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

      實例
      <!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>

      運行結(jié)果:

      BMW
      SAAB
      Volvo

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

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

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

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

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

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

      下面的例子根據(jù)值對關(guān)聯(liá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>

      運行結(jié)果:

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

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

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

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

      下面的例子根據(jù)值對關(guān)聯(liá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>

      運行結(jié)果:

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

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

      下面的例子根據(jù)鍵對關(guān)聯(liá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ù)定義變量都是“超全局的”,這意味著它們在一個腳本的全部作用域中都可用。在函數(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:

      實例
      <!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)于報頭、路徑和腳本位置的信息。

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

      實例
      <!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>

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

      14.4 PHP $_REQUEST

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

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

      實例
      <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 也常用于傳遞變量。

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

      實例
      <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>

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

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

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

      PHP編程

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

  • 發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發(fā)表
    主站蜘蛛池模板: 嫩江县| 灵寿县| 万宁市| 交口县| 湘潭市| 颍上县| 甘洛县| 德钦县| 拉孜县| 遵义市| 合山市| 蛟河市| 深泽县| 沭阳县| 渝中区| 长丰县| 海晏县| 康保县| 长治市| 湖南省| 道孚县| 佛坪县| 和平县| 麻江县| 遵义市| 沂源县| 宁南县| 乐清市| 武功县| 江都市| 仙游县| 阳朔县| 庆云县| 乃东县| 深泽县| 石家庄市| 喀什市| 江华| 凌云县| 林芝县| 车险|