第十七課:相關補充
我要給大家說清楚的是,我們課程的目的,首先就是要把大家領入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)多維數組
數組中的元素是自由的,可以是字符串,數字,甚至是數組。如果它的元素是數組,則該數組就是一個多維數組。
$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”
?>
如果鍵名是字符串,要使用引號。
如: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。引用符號(&)
$a = '北京';
$b = $a;
$b = '上海';
echo $a,$b; //輸出“北京上海”
?>
$a = '北京';
$b = &$a;
$b = '上海';
echo $a,$b; //輸出“上海上海”
?>
5。活動變量
$name = 'BeiJing';
$BeiJing = '北京';
echo $$name;
?>
6。預定常量和關鍵詞
PHP 向它運行的任何腳本提供了大量的預定義常量。不過很多常量都是由不同的擴展庫定義的,只有在加載了這些擴展庫時纔會出現,或者動態加載後,或者在編譯時已經包括進去了。下面列出幾個可能你現在就想用到的常量。
PHP_VERSION :當前使用的PHP的版本號。
PHP_OS :當前使用的系統。
__FILE__ :文件的完整路徑和文件名。如果用在包含文件中,則返回包含文件名。自 PHP 4.0.2 起,__FILE__ 總是包含一個絕對路徑,而在此之前的版本有時會包含一個相對路徑。
__LINE__ :文件中的當前行號。
echo '目前的PHP版本號:'.PHP_VERSION.'<BR>';
echo 'PHP運行的操作系統:'.PHP_OS.'<BR>';
echo '當前程序文件的絕對路徑:'.__FILE__.'<BR>';
echo '這一行是程序文件的第'.__LINE__ .'行';
?>
TRUE :真
FALSE :假,數字0,空白字符串和字符串 "0",沒有成員變量的數組,沒有單元的對象,和特殊類型 NULL(包括尚未設定的變量),當轉換爲 boolean 時,以下值被認爲是 FALSE,其它值都被認爲是 TRUE(包括任何資源)。
<?php
$a=19; $b=3;
if( $a%$b == TRUE ) echo "{$a}不能被{$b}整除";
else echo "{$a}能被{$b}整除";
?>
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中最豐富最強大最令人興奮的部分--函數。