第十七課:相關補充

第十七課:相關補充



  我要給大家說清楚的是,我們課程的目的,首先就是要把大家領入PHP之門,讓大家對PHP不再陌生,不再畏懼,讓你知道PHP編程到底是怎麼一回事,通過一些例子讓你對PHP產生興趣,我想這個目的我們達到了。在整個學習過程中,我特別強調興趣,動手和自學能力,這是網絡學習成功的要素。

  我們已經有了初步的PHP知識,已經可以閱讀有關的PHP資料了。我們這些PHPer首先要去的第一個網站就是PHP的老家
www.php.net ,這是PHP的官方網站,我們這些PHPer的聖經就是“PHP手冊”,上面已經有了我們要的所有答案,我希望你能把它放在案頭,隨時查閱,上面的解釋就是最終的答案。

  在學習的過程中,爲讓大家順利入門,我們也省略了一些更細節的東西,現在來補充這些知識,相信你也會很容易接受和願意接受。


1。數組

(1)如果連續的爲數組賦值,可以不指定數組下標,其值會添加在該數組變量的後續元素中,鍵名則取當前最大的整數索引值加一。如果指定的鍵名已經有了值,則該值會被覆蓋。

$name[] = '北京';  // $name[0] = '北京';
$name[] = '上海';  // $name[1] = '上海';
$name[] = '天津';  // $name[2] = '天津';
$name[5] = '武漢'; // $name[5] = '武漢';
$name[] = '西安';  // $name[6] = '西安';

(2)多維數組


數組中的元素是自由的,可以是字符串,數字,甚至是數組。如果它的元素是數組,則該數組就是一個多維數組。
<?php
 
$word = array('name'=>'北京', 'a'=>array('any','as','and'), 'b'=>array('buy','boy','bit') );
 
echo $word['name'];  //輸出“北京”
echo $word['a'][0];  //輸出“any”
echo $word['a'][1];  //輸出“as”
echo $word['a'][2];  //輸出“and”
echo $word['b'][0];  //輸出“buy”
echo $word['b'][1];  //輸出“boy”
echo $word['b'][2];  //輸出“bit”
 
?>
(3)鍵名使用引號的問題

  如果鍵名是字符串,要使用引號。
    如:echo $word['name'];  //輸出“北京”
  如果是雙引號裏的數組,鍵名不能用引號,因爲PHP已經將它作爲字符串處理,你再加上引號就會出錯。
    如: echo "我們的首都是 $word[name]";  //數組變量處於雙引號中,name不能用引號
  如果你使用了花括號{},花括號裏的部分會獨立於雙引號之外處理。
    如:echo "我們的首都是{$word['name']}";  //數組變量處於花括號內,此時name要加上引號。

2。註釋

程序中添加註釋能讓程序很好的被閱讀和理解,在PHP中加入註釋方式是很靈活的。

echo '這是單行註釋方式';  //單行註釋就用這種方法
echo '這是多行註釋方式';

/*
多行註釋
就用
這種方法
*/

echo '這是第三種註釋方式';  # 這是使用 UNIX Shell 語法註釋

3。PHP代碼嵌入HTML的幾種方法

(1):<?php ... ?>
(2):<? ... ?>
(3):<% ... %>
(4):<script language="php"> ... </script>

4。引用符號(&)
<?php
 
$a = '北京';
$b = $a
$b = '上海';
 
echo $a,$b;  //輸出“北京上海”
 
?>
上面的例子中,因爲$b只是$a的一個拷貝,$b有自己單獨的內存空間,任何對$b的操作都不會影響到$a。
<?php
 
$a = '北京';
$b = &$a
$b = '上海';
 
echo $a,$b;  //輸出“上海上海”
 
?>
上面的例子中,和前一個例子有什麼不一樣嗎?是的,只是在$a的前面加入了引用符號(&),但結果卻完全不同。此時$b不再是$a的一個拷貝,而是$a的別名,兩者都指向同一內存空間,任何對$b的操作都會改變$a的值。

5。活動變量
<?php
 
$name = 'BeiJing';
$BeiJing = '北京';
 
echo $$name;
 
?>
$$name也叫變量的變量,$name的值是BeiJing,所以$$name相當於$BeiJing,而$BeiJing的值是“北京”,所以結果會輸出“北京”。

6。預定常量和關鍵詞

PHP 向它運行的任何腳本提供了大量的預定義常量。不過很多常量都是由不同的擴展庫定義的,只有在加載了這些擴展庫時纔會出現,或者動態加載後,或者在編譯時已經包括進去了。下面列出幾個可能你現在就想用到的常量。

PHP_VERSION :當前使用的PHP的版本號。
PHP_OS :當前使用的系統。
__FILE__ :文件的完整路徑和文件名。如果用在包含文件中,則返回包含文件名。自 PHP 4.0.2 起,__FILE__ 總是包含一個絕對路徑,而在此之前的版本有時會包含一個相對路徑。  
__LINE__ :文件中的當前行號。
<?php
echo '目前的PHP版本號:'.PHP_VERSION.'<BR>';
echo 'PHP運行的操作系統:'.PHP_OS.'<BR>';
echo '當前程序文件的絕對路徑:'.__FILE__.'<BR>';
echo '這一行是程序文件的第'.__LINE__ .'';
?>
下面這些詞語在 PHP 中有着特殊的意義。它們中有些像是函數,有些像是常量……但是它們不是的,它們只是語言結構的一部分。不能使用它們的任何一個作爲常量、方法名或是類名。但是可以將它們作爲變量名使用,不過這樣會導致混淆。

TRUE :真
FALSE :假,數字0,空白字符串和字符串 "0",沒有成員變量的數組,沒有單元的對象,和特殊類型 NULL(包括尚未設定的變量),當轉換爲 boolean 時,以下值被認爲是 FALSE,其它值都被認爲是 TRUE(包括任何資源)。
 
 
<?php
 
$a=19$b=3;
 
if$a%$b == TRUE ) echo "{$a}不能被{$b}整除";
 
else echo  "{$a}能被{$b}整除";
 
?>
表格 : PHP 關鍵詞
and or xor __FILE__ exception (PHP 5)
__LINE__ array() as break case
class const continue declare default
die() do echo() else elseif
empty() enddeclare endfor endforeach endif
endswitch endwhile eval() exit() extends
for foreach function global if
include() include_once() isset() list() new
print() require() require_once() return() static
switch unset() use var while
__FUNCTION__ __CLASS__ __METHOD__ final (PHP 5) php_user_filter (PHP 5)
interface (PHP 5) implements (PHP 5) extends public (PHP 5) private (PHP 5)
protected (PHP 5) abstract (PHP 5) clone (PHP 5) try (PHP 5) catch (PHP 5)
throw (PHP 5) cfunction (PHP 4 only) old_function (PHP 4 only) this (PHP 5 only)  

7。預定義變量

PHP 提供了大量的預定義變量。由於許多變量依賴於運行的服務器的版本和設置,及其它因素,所以並沒有詳細的說明文檔。一些預定義變量在 PHP 以命令行形式運行時並不生效。

從 PHP 4.1.0 開始,PHP 提供了一套附加的預定數組,這些數組變量包含了來自 web 服務器(如果可用),運行環境,和用戶輸入的數據。這些數組非常特別,它們在全局範圍內自動生效,例如,在任何範圍內自動生效。因此通常被稱爲自動全局變量(autoglobals)或者超全局變量(superglobals)。(PHP 中沒有用戶自定義超全局變量的機制。)超全局變量羅列於下文中;

下面的這些超全局變量,你在編程中是會經常用到的,我們學習用過了$_GET和$_POST,你還記得怎麼用它們嗎?其它的我們也將會學習到。

PHP 超全局變量

$GLOBALS
包含一個引用指向每個當前腳本的全局範圍內有效的變量。該數組的鍵名爲全局變量的名稱。從 PHP 3 開始存在 $GLOBALS 數組。

$_SERVER
變量由 web 服務器設定或者直接與當前腳本的執行環境相關聯。類似於舊數組 $HTTP_SERVER_VARS 數組(依然有效,但反對使用)。

$_GET
經由 URL 請求提交至腳本的變量。類似於舊數組 $HTTP_GET_VARS 數組(依然有效,但反對使用)。

$_POST
經由 HTTP POST 方法提交至腳本的變量。類似於舊數組 $HTTP_POST_VARS 數組(依然有效,但反對使用)。

$_COOKIE
經由 HTTP Cookies 方法提交至腳本的變量。類似於舊數組 $HTTP_COOKIE_VARS 數組(依然有效,但反對使用)。

$_FILES
經由 HTTP POST 文件上傳而提交至腳本的變量。類似於舊數組 $HTTP_POST_FILES 數組(依然有效,但反對使用)。詳細信息請參閱 POST 方法上傳。

$_ENV
執行環境提交至腳本的變量。類似於舊數組 $HTTP_ENV_VARS 數組(依然有效,但反對使用)。

$_REQUEST
經由 GET,POST 和 COOKIE 機制提交至腳本的變量,因此該數組並不值得信任。所有包含在該數組中的變量的存在與否以及變量的順序均按照 php.ini 中的 variables_order 配置指示來定義。此數組在 PHP 4.1.0 之前沒有直接對應的版本。

$_SESSION
當前註冊給腳本會話的變量。

  好了,補充這些就是爲我們下一步學習做好準備。下一步我們將學習PHP中最豐富最強大最令人興奮的部分--函數
發佈了7 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章