PHP完全手冊(cè)
發(fā)表時(shí)間:2024-02-23 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]一、PHP安裝設(shè)置 PHP可以在多種操作系統(tǒng)下運(yùn)行,現(xiàn)在的操作系統(tǒng)主要分為兩類,一是Windows系列,一是UNIX系列。 在這兩個(gè)系列的操作系統(tǒng)中安裝設(shè)置PHP的運(yùn)行環(huán)境是有很大的區(qū)別的,下面分別加以描述。 ##2 (一)類UNIX操作系統(tǒng)下安裝設(shè)置 目前市面上流行...
一、PHP安裝設(shè)置
PHP可以在多種操作系統(tǒng)下運(yùn)行,現(xiàn)在的操作系統(tǒng)主要分為兩類,一是Windows系列,一是UNIX系列。
在這兩個(gè)系列的操作系統(tǒng)中安裝設(shè)置PHP的運(yùn)行環(huán)境是有很大的區(qū)別的,下面分別加以描述。
##2 (一)類UNIX操作系統(tǒng)下安裝設(shè)置
目前市面上流行的兩大類免費(fèi)的類UNIX操作系統(tǒng)FreeBSD和Linux,Linux系統(tǒng)比較流行,而且種類也挺多,如RedFlag,RedHat等系統(tǒng)。而FreeBSD只有一種類型,目前其Release版本是3.5,在這里以FreeBSD為例介紹類UNIX操作系統(tǒng)下的PHP安裝設(shè)置過(guò)程,Linux與FreeBSD是相似的。
1.安裝
首先到www.php.net去下載PHP的安裝文件和http://www.apache.org 下載Apache WEB服務(wù)器。一般把下載文件放入/usr/目錄下。
接下來(lái)開始安裝設(shè)置,讀者如不明白這些參數(shù)的意義,請(qǐng)不要隨意改變。
先安裝Apache和PHP。
tar -vzxf apache_1.3.x --x代表版本號(hào)如12或13等
tar -vzxf php-4.0.x或tar -vzxf php-3.0.x
cd apache_1.3.x
./configure --prefix=/www --/www代表安裝目錄在根目錄www下
cd ../php-4.0.x或cd ../php-3.0.x
./configure --with-mysql --with-apache=../apache_1.3.x --enable-track-vars
make
make install
cd ../apache_1.3.x
PHP3:./configure --activate-module=src/modules/php3/libphp3.a
PHP4:./configure --activate-module=src/modules/php4/libphp4.a
make
make install
第一、二行命令利用tar將下載的壓縮文件檔解壓還原在同名目錄下,然后在 Apache 的解壓目錄下進(jìn)行環(huán)境設(shè)定,--prefix 選項(xiàng)代表 Apache 的安裝目錄路徑。然后進(jìn)入 PHP 的解壓目錄中,進(jìn)行PHP的環(huán)境設(shè)定,如果沒(méi)有使用 MySQL 數(shù)據(jù)庫(kù),就可省略 --with-mysql 的選項(xiàng),但一定要加入 --with-apache 選項(xiàng),而且 Apache解壓目錄名一定要正確。設(shè)定完 PHP 之后就編譯、安裝到 Apache 的指定目錄中。然后在 Apache 解壓目錄中再完成 PHP 的模式庫(kù)安裝后,再編譯和安裝 Apache 后就初步完成了安裝工作。接著就是要設(shè)定 Apache 才能讓 Web Server 順利運(yùn)作。
2.設(shè)置
首先設(shè)置php.ini文件,
cd ../php-4.0.x或cd ../php-3.0.x
PHP3:cp php3.ini-dist /usr/local/lib/php3.ini
PHP4:cp php.ini-dist /usr/local/lib/php.ini
讀者可以編輯ini文件以符合自己要求,當(dāng)然如果不清楚設(shè)置的話,則使用缺省設(shè)置,讀者也可以指定另一個(gè)目錄,但需要在第六步設(shè)定條件--with-config-file-path=/path接著設(shè)定Apache服務(wù)器,需要在Apache的設(shè)定文件httpd .conf或srm.conf中加入下面的字串。
PHP 3: AddType application/x-httpd-php3 .php3
PHP 4: AddType application/x-httpd-php .php
讀者也可以設(shè)定另外的后綴名作為php的文件名。
##2 (二) Windows下的安裝
下載PHP的安裝程序,準(zhǔn)備安裝,因?yàn)閃indows系列的安裝區(qū)別不大,本文以Windows 98下的安裝為例。在安裝前你應(yīng)該已經(jīng)安裝好了PWS 4.0。
1.安裝
釋放壓縮文件到指定的目錄如C:\PHP\,然后復(fù)制php.ini-dist或php.ini-optimized到c:\windows目錄中(Windows NT和Windows 2000中應(yīng)為c:\winnt),并且重命名為php.ini 。
編輯你的php.ini文件,你可以改變extension_dir的設(shè)置為你的php的安裝路徑,如上面所說(shuō)的“c:\php”,選擇你要加裝的php的擴(kuò)展模塊,在ini文件里的extension=后面加入php_*.dll行,你也可以在腳本(script)里動(dòng)態(tài)加載。PHP也提供了一些可以提供其它功能的附加模塊,可以從相關(guān)網(wǎng)站下載。
2.設(shè)置
以上步驟完成以后,需要注意檢查是否安裝了DCOM98,如果沒(méi)有,還要安裝DCOM98,這可以在完整版的VB6中找到。還需要設(shè)置注冊(cè)表,一般在下載的PHP壓縮包里含有名為PWS-php4.reg的注冊(cè)表文件。需要先用記事本修改這個(gè)文件,把其中的“[PUT PATH HERE]”替換為PHP的解壓目錄,需要注意目錄分隔要用雙斜線“\\”。存盤后在右鍵菜單中把它合并到注冊(cè)表中就行了。
3.PHP附加庫(kù)(擴(kuò)展模塊)
為了擴(kuò)展PHP的功能,PHP提供了許多附加庫(kù),這些附加庫(kù)都是以DLL文件的形式提供的,在使用前需要修改php.ini文件,用Extention設(shè)置所需的附加庫(kù)。下表是常用的附加庫(kù),更多的附加庫(kù)可以到網(wǎng)上下載。
Php_calendar.dll 日歷轉(zhuǎn)換
php_crypt.dll 加密模塊
php_dbase.dll Dbase的函數(shù)模塊
php_imap4r2.dll IMAP 4 函數(shù)
php_ldap.dll LDAP函數(shù)
php_msql1.dll mSQL 1客戶
php_msql2.dll mSQL 2客戶
php_mssql.dll MSSQL 客戶
php3_mysql.dll(PHP 4內(nèi)建) MySQL 的函數(shù)模塊
php_nsmail.dll Netscape郵件函數(shù)
php_oci73.dll Oracle函數(shù)模塊
php_zlib.dll ZLib函數(shù)模塊
##1 二、PHP語(yǔ)言入門
PHP腳本語(yǔ)言的使用并不難,如果有其它程序設(shè)計(jì)語(yǔ)言基礎(chǔ),可以很快掌握,即使沒(méi)有其它語(yǔ)言基礎(chǔ)經(jīng)過(guò)稍多的學(xué)習(xí)也可以輕易掌握它。PHP有一個(gè)比較方便的專用編輯器PHPEditor可供使用,也可用UltraEdit、Editplus這樣的編輯器,根據(jù)你的喜好選擇。
##2 (一)語(yǔ)法基礎(chǔ)
1.如何在頁(yè)面嵌入PHP代碼
PHP可以嵌入到HTML的代碼中間,也就是說(shuō)可以把HTML和PHP代碼混合在一起使用,這樣寫起代碼會(huì)很愜意的。當(dāng)然要有能區(qū)分PHP代碼和HTML的方法,可以使用以下4種方法:
(1)<? echo (“這是最常用的方式”); ?>
(2)<?php
echo(“如果你想服務(wù)于XML文檔就是用這種方式”);
?>
(3)<script language=“php”>
echo (“指定腳本語(yǔ)言的方式”);
</script>
(4)<% echo (“你也可以象ASP的風(fēng)格一樣寫”); %>
上面第(1)種第(4)種方式在Windows 98下需要單獨(dú)設(shè)置才能使用。
2.程序的注釋和如何結(jié)束語(yǔ)句
在PHP程序里,注釋有如下三種注釋方式:
(1)/* 第一行
第二行
多行注釋 */
(2)// 單行注釋
(3)# 單行注釋
上面這三種注釋可以混合使用,讀者可以根據(jù)習(xí)慣選用,需要注意的是多行注釋不能嵌套多行注釋。
PHP語(yǔ)句之間使用“;” 分隔,它也是語(yǔ)句結(jié)束符。
3.小小的范例
我們了解了PHP簡(jiǎn)單的編碼規(guī)范,現(xiàn)在可以編寫一個(gè)簡(jiǎn)單的范例如下:
<html>
<head>
<title>第一個(gè)PHP程序</title>
</head>
<body>
<?php echo “你好,這是我第一個(gè)PHP程序”; ?>
</body>
</html>
上面的例子實(shí)際上是一個(gè)標(biāo)準(zhǔn)的HTML的頁(yè)面,因?yàn)镻HP是解釋執(zhí)行的,所以只需把此文件放如我們?cè)O(shè)好的PHP環(huán)境里,就可以在瀏覽器上看到“你好,這是我第一個(gè)PHP程序”。
##2 (二)常量和變量
首先看下面一個(gè)實(shí)例
范例:test2_1.php
<?php
//常量的演示
echo “_FILE_”; //輸出:test2_1.php
echo “這是一個(gè)常量”; //輸出:這是一個(gè)常量
define(“THECONSTANT”,“這是一個(gè)自定義的常量”);
echo THECONSTANT; //輸出:這是一個(gè)自定義的常量
//變量的演示
$StrOutput=“這是一個(gè)變量”;
echo $StrOutput; //輸出:這是一個(gè)變量
echo “變量是這樣誕生的:$StrOutput”; //輸出:變量是這樣誕生的:這是一個(gè)變量
echo “問(wèn)題是這樣出現(xiàn)的:$StrOutPut”; //輸出:?jiǎn)栴}是這樣出現(xiàn)的:
?>
可以從以上的范例看出,在編寫PHP文件的時(shí)候,可以省略HTML標(biāo)頭。
1.常量
上例中“_FILE_”就是一個(gè)常量,而這個(gè)常量是PHP系統(tǒng)內(nèi)定的,就是代表PHP的當(dāng)前文件名,當(dāng)然還有很多的常量,象“TRUE”、“FALSE”等,讀者如果需要的話可以去PHP的官方網(wǎng)站查詢;如果覺(jué)得常量不夠使用的話,也可以自己定義常量,就象上例的define(“常量名”,“常量的取值”)這種方式定義常量。
2.變量
PHP的變量是非常有意思的,上例中“$StrOutput”就是一個(gè)變量,可以看到變量前面都有一個(gè)“$”(美元)符號(hào),所以非常好區(qū)分變量和程序里別的語(yǔ)句,同時(shí)PHP中的變量是可以不用預(yù)先定義而直接在代碼里引用的,而且使用了“$”這樣的符號(hào),可以使我們的程序獲得更大的自由,不但可以象平常一樣引用變量,還可以在一個(gè)字符串里直接寫,而PHP能自動(dòng)獲得變量的值,但是PHP對(duì)大小寫區(qū)分很嚴(yán)格,在上面的例子中就很清楚的說(shuō)明了這一點(diǎn)。
(1)變量的作用范圍
PHP里的變量可以直接引用,我們定義了一個(gè)頁(yè)面級(jí)的變量,它和在函數(shù)里的同名變量之間有什么關(guān)系?這就是變量的作用范圍問(wèn)題,如下例:
范例test2_2.php
<?php
$strtest="你說(shuō)";
function output1()
{
echo $strtest;
}
function output2()
{
global $strtest;
echo $strtest;
}
output1(); //輸出:
output2(); //輸出:你說(shuō)
?>
從上例可以看出,PHP如果直接在函數(shù)中引用與頁(yè)面變量同名的變量,它會(huì)認(rèn)為函數(shù)的變量是一個(gè)新的變量,當(dāng)然什么也不輸出,但如果我們?cè)谄淝懊嬖黾右粋(gè)“global”的話,就可以得到頁(yè)面的同名變量的值,另一種同樣的方法是$GLOBALS["strtest"];
(2)變量的變量
在php中變量與許多常用語(yǔ)言最大的區(qū)別就是增加了一個(gè)‘$’前綴,為什么單獨(dú)拿出來(lái)講呢?因?yàn)橛辛诉@一個(gè)前綴,同樣增加了PHP的獨(dú)特的一種處理方式,一個(gè)前綴代表普通的變量,但是兩個(gè)前綴呢?這就是變量的變量,這樣說(shuō)大家可能有些不明白,請(qǐng)看下例。
范例:test2_3.php
<?
$name=″hello″;
$$name=″world″; //等同于$hello=″world″;
echo ″$name $hello″; //輸出:hello world
echo ″$name $$name″; //同樣輸出:hello world
for($i=1;$i<=5;$I++)
{
${var."$i"}=$i;
}
echo $var3; //輸出:3
?>
大家從上面的例子基本上可以理解$$name了,PHP的標(biāo)準(zhǔn)定義則是${$name}。我們有了變量的變量就可以實(shí)現(xiàn)動(dòng)態(tài)增加變量了,這簡(jiǎn)直就是神奇。
(3)變量的類型
學(xué)過(guò)其它語(yǔ)言的讀者會(huì)發(fā)現(xiàn)PHP定義的變量怎么沒(méi)有定義類型呢?實(shí)際上PHP定義的變量缺省是沒(méi)有類型的,變量在使用時(shí)由PHP自動(dòng)自動(dòng)確定變量的類型。就象下例演示的一樣。
范例test2_4.php:
<? php
$strtype="字符串";
/*添加字符串*/
$strtype=$strtype."再增加一些字符串 ";
/* 另一種增加字符串方式,并換行*/
$str .= "\n第二行的字符串";
/* 得到第一個(gè)字符*/
$strtype='This is a test.';
$first = $str[0]; //輸出:T
/*得到最后一個(gè)字符*/
$strtype='This is still a test.';
$last=$str[strlen($str)-1]; //輸出:.
//整數(shù)類型例子
$strtwo="2.5test";
$inttype=1;
echo ($inttype+$strtwo) //輸出:3.5
echo ("$inttype".$strtwo) //輸出:12.5test
//浮點(diǎn)數(shù)
$float1 = 1.732;
$float2 = 1.4E+2;
?>
這樣大家可以看出$strtype實(shí)際上是一個(gè)字符串型的變量,PHP支持五種變量類型:String、Integer、Floating-point numbers (Double)、Array、Object。
String是字符串類型。字符串變量是最常用的類型,兩個(gè)字符串連接符則是".",從上面的例子可以看出,PHP支持以“\”后面的有特殊意義的字符,如“\n”代表回車。
integer 為整數(shù)類型。在 32 位的操作系統(tǒng)中,它的有效范圍是 -2,147,483,648 到 +2,147,483,647。要使用 16 進(jìn)制數(shù)可以在前面加 0x。
double 為浮點(diǎn)數(shù)類型。在 32 位的操作系統(tǒng)中,它的有效范圍是 1.7E-308 到 1.7E+308。對(duì)象和數(shù)組這兩種類型比較復(fù)雜,請(qǐng)看函數(shù)和類。
我們也可以使用settype(變量,數(shù)據(jù)類型)函數(shù)強(qiáng)制轉(zhuǎn)換數(shù)據(jù)類型,使用gettype(變量)獲得變量類型。也允許這樣強(qiáng)制轉(zhuǎn)換$inttype = (int) $strtype;。
##2 (三)運(yùn)算符
1.算術(shù)運(yùn)算符
算術(shù)運(yùn)算 (arithmetic operators) 符號(hào),是用來(lái)處理四則運(yùn)算的符號(hào),這是最簡(jiǎn)單,也最常用的符號(hào),幾乎所有語(yǔ)言的算術(shù)運(yùn)算符都差不多,如^00100010a^。
2.邏輯運(yùn)算符
邏輯運(yùn)算通常用來(lái)獲得邏輯值的真假,在所有的編程語(yǔ)言里,邏輯運(yùn)算符是非常重要的,邏輯運(yùn)算符如^00100010b^所示。
3.關(guān)系運(yùn)算符
關(guān)系運(yùn)算就是比較大小用的,如^00100010c^所示。
4.位運(yùn)算符
PHP有下面一些二進(jìn)制位運(yùn)算符如^00100010d^。
5.運(yùn)算符的優(yōu)先級(jí)
不同的運(yùn)算符在同一行程序里有不同的運(yùn)算順序,PHP程序里的運(yùn)算順序如^00100010e^,越往下表明運(yùn)算符的優(yōu)先級(jí)別越高,同時(shí)應(yīng)注意結(jié)合規(guī)則。
##2 (四)流程控制語(yǔ)句
編程人員最基本的工作之一就是要告訴計(jì)算機(jī)下一步的動(dòng)作,而流程控制語(yǔ)句正是這方面讓計(jì)算機(jī)做出選擇,流程控制語(yǔ)句就象一個(gè)灌溉田地的水渠,在通過(guò)各個(gè)分岔時(shí)引導(dǎo)程序走向我們要求的地點(diǎn)。
1.if條件語(yǔ)句
if條件語(yǔ)句是我們最常用的一種分支語(yǔ)句,用法也符合人們思維的習(xí)慣,就想:if如果 expression(熊倪跳水得了最高分)是真的話 statements可以拿到金牌 else(否則)statements薩烏丁拿金牌。它在定義上有三種形式:
(1)第一種最簡(jiǎn)單的形式。
if (expression) statement;
(2)第二種帶有else(否則)的形式。
if (expression) {
statement1;
} else {
statement2;
}
(3)第三種帶有elseif的形式。
if (expression) {
statement1;
} elseif {
statement2;
} else{
statement3;
}
if條件語(yǔ)句是允許嵌套的,也就是在if語(yǔ)句中含有另外的if語(yǔ)句,但要注意嵌套層次,否則不能得到想要的結(jié)果。
2.循環(huán)語(yǔ)句
有時(shí)我們需要一遍一遍的重復(fù)做相同的事,如果我們都要一次一次的去做的話,是非常頭疼的事,在計(jì)算機(jī)中則有專門的循環(huán)語(yǔ)句來(lái)做這些事情,當(dāng)然這也是計(jì)算機(jī)的一個(gè)強(qiáng)項(xiàng)。
循環(huán)語(yǔ)句象一個(gè)圓,從開始到結(jié)束可以一遍一遍的執(zhí)行,但最好不能是圓,否則我們會(huì)陷入死循環(huán)。因此,我們使用循環(huán)語(yǔ)句的時(shí)候,要有一個(gè)良好的出入口。
循環(huán)一般可以分為以下幾種。
(1)while循環(huán),也叫“當(dāng)型循環(huán)”,就是說(shuō)“當(dāng)條件為真就執(zhí)行循環(huán)體”,在PHP中的定義如下:
while (expression)
{statement}
這種循環(huán)先判斷表達(dá)式為真再執(zhí)行,可能一次也不執(zhí)行。
(2)do while循環(huán)叫做“直到型循環(huán)”,它最少執(zhí)行一次,意思就是“先執(zhí)行循環(huán)體直到條件為真才退出”,PHP的定義為
do {
statement
} while (expr);
上面兩種循環(huán)都是不知道循環(huán)的次數(shù),或者在條件比較模糊的情況下使用。
(3)for循環(huán),在PHP4中有兩種for循環(huán),一是for,另一是foreach循環(huán)。他們主要的區(qū)別在于:
for循環(huán)用于循環(huán)次數(shù)已知的循環(huán);
foreach則是針對(duì)數(shù)組和散列的循環(huán);
for循環(huán)的PHP定義如下:
for (expr1; expr2; expr3) {
statement
}
下面是一個(gè)簡(jiǎn)單的例子:
<?php
for ($i = 1; $i <= 10; $i++) {
echo $i;
}
?>
PHP有數(shù)組和散列,后面介紹它們的概念,數(shù)組元素個(gè)數(shù)沒(méi)有固定,如果要訪問(wèn)每一個(gè)元素,用foreach可以從第一個(gè)元素訪問(wèn)到最后一個(gè)元素,這樣我們可以不必求出元素的個(gè)數(shù),就能遍歷整個(gè)數(shù)組,在PHP中foreach循環(huán)的定義如下:
foreach(array_expression as $value) statement //普通數(shù)組
foreach(array_expression as $key => $value) statement //散列
請(qǐng)做一下下面的例子:
<?php
// foreach例一
$a = array (1, 2, 3, 17);
foreach ($a as $v) {
echo "Current value of \$a: $v.\n";
}
// foreach例二
$a = array (1, 2, 3, 17);
$i = 0;
foreach($a as $v) {
echo "\$a[$i] => $k.\n";
}
// foreach例三
$a = array (
"one" => 1,
"two" => 2,
"three" => 3,
"seventeen" => 17
);
foreach($a as $k => $v) {
echo "\$a[$k] => $v.\n";
}
3.SWITCH多條件語(yǔ)句
在學(xué)習(xí)if條件語(yǔ)句時(shí),我們注意到如果條件非常復(fù)雜的時(shí)候,就象我們排一個(gè)日程表時(shí),如果再使用if語(yǔ)句就會(huì)非常的麻煩,而且程序不易閱讀,這時(shí)我們推薦使用SWITCH語(yǔ)句,實(shí)際上一般只要是復(fù)合的條件都可以使用SWITCH語(yǔ)句,因?yàn)樗軒椭覀兙幊鼋Y(jié)構(gòu)清晰和比較容易改變條件表達(dá)式,PHP定義如下:
switch (expression) {
case condition1:
statement1;
break;
case condition2:
statement2;
break;
......
default:
statement n;
break;
}
這時(shí)要介紹兩個(gè)特殊的流程控制語(yǔ)句:break和continue。
break是可以跳出當(dāng)前循環(huán)體的語(yǔ)句,而continue則是從當(dāng)前執(zhí)行continue語(yǔ)句處跳到執(zhí)行條件判斷的地方繼續(xù)執(zhí)行,如下例子:
<?php
For($I=1;$I<=10;$I++)
{
if ($I==1) continue;
echo "測(cè)試:".$I;
if ($I==2) break;
}
?>
上面的程序輸出則是:測(cè)試:2,而且永遠(yuǎn)也執(zhí)行不到$I=3。
4.引用文件
在我們編程的過(guò)程中,肯定會(huì)遇到很多的地方需要許多相同的模塊或者函數(shù),當(dāng)然我們也可以使用復(fù)制和粘貼的方法把程序塊放入到程序里,而一旦我們要修改這些語(yǔ)句中的一處,則必須修改所有粘貼的代碼,這當(dāng)然很累,所幸PHP提供了引用文件的方法,他們就是require,require-once,include,include-once。require方法會(huì)程序在執(zhí)行前先讀入 require 所指定引用的文件,使它變成 PHP 程序網(wǎng)頁(yè)的一部份。而PHP的include方法則是PHP 的網(wǎng)頁(yè)在遇到 include 所指定的文件時(shí),才將它讀進(jìn)來(lái)。這種方式,更符合人們的習(xí)慣。
在我們編程時(shí)有時(shí)還會(huì)遇到這樣一個(gè)問(wèn)題,在我們極力保證函數(shù)和類的獨(dú)立性和公用性的同時(shí),而如果在程序里面我們調(diào)用了一個(gè)非公用文件里的類,但我們的另一個(gè)處理文件也調(diào)用了這個(gè)文件里的這個(gè)類,那么程序?qū)?huì)出錯(cuò),說(shuō)是重定義了這個(gè)類,因此,我們將不得不去重寫文件或者丟棄它的獨(dú)立性,但在PHP4里不存在這個(gè)問(wèn)題,因?yàn)镻HP4可以使用require-once和include-once方法,顧名思義也就是他們只調(diào)用一次我們所需要的文件,如果有兩次調(diào)用文件的話,第二次調(diào)用的文件不起作用。
##2 (五)數(shù)組
經(jīng)過(guò)上面的學(xué)習(xí),我們基本具有了使用PHP編程的條件,而我們所學(xué)的也是一切編程的基礎(chǔ),但若想更進(jìn)一步,就需了解更強(qiáng)大的數(shù)據(jù)類型:數(shù)組。
假如變量是可以放入一本書的盒子的話,那么數(shù)組就是可以放許多書的書架,在PHP中不止可以放書,還可以放別的物品。
1.普通數(shù)組
我們?cè)贑、VB等語(yǔ)言里使用的數(shù)組,都是以數(shù)字作為下標(biāo)來(lái)索引數(shù)組的值,在PHP中是這樣表示的:$a[1]=1,$a[2]=2...$a[n],雖然PHP的普通數(shù)組比C語(yǔ)言在數(shù)據(jù)類型方面前進(jìn)了一大步(C語(yǔ)言里可以使用結(jié)構(gòu)代替),而真正比C語(yǔ)言優(yōu)越的是引入了哈希表(hash table聯(lián)合數(shù)組)。
2.哈希表(聯(lián)合數(shù)組)
可能大家這時(shí)候?qū)1頂?shù)組,還是不太了解,實(shí)際上在C語(yǔ)言里我們使用了枚舉的數(shù)據(jù)類型,就是譬如我們定義了星期的枚舉變量,我們可以讓這個(gè)枚舉里含有星期一到星期日的名字,這樣我們就可以直接引用星期的名字也能得到正確的值了,但是枚舉需要預(yù)定義,數(shù)量也是定義好的,才能引用,在PHP將其歸類到了這種聯(lián)合數(shù)組,也就是說(shuō)我們的下標(biāo)不必非采用數(shù)字,這樣數(shù)組的下標(biāo)也成了我們可以發(fā)揮的地方。請(qǐng)看下例
范例:
<?php
$a[1]= $f; //普通數(shù)組
$a["apple"]= "sweet"; //聯(lián)合數(shù)組
$a[1][0]= $f; //二維數(shù)組
$a["apple"][2]="tart"; //普通數(shù)組和聯(lián)合數(shù)組連用
$a["apple"][4]["color "][0]= "bad"; //四維數(shù)組
?>
實(shí)際上數(shù)組的維數(shù)最好不要超過(guò)三維,否則會(huì)給服務(wù)器帶來(lái)極大的負(fù)擔(dān),就有些得不償失了。
##2 (六)函數(shù)
函數(shù)就是能執(zhí)行特定功能的語(yǔ)句塊。在這些年編程語(yǔ)言發(fā)展的趨勢(shì)就是代碼的重用性和結(jié)構(gòu)清晰,象C的輸入輸出等就是用函數(shù)來(lái)完成的,在PHP里也是這樣的,函數(shù)在PHP運(yùn)用非常廣泛,也是各種PHP函數(shù)使PHP變?yōu)閺?qiáng)大的WEB編程腳本語(yǔ)言的原因之一,我們?cè)谇懊娴膶W(xué)習(xí)的過(guò)程中也遇到了不少,如“echo”、“require”等,而我們可以通過(guò)用戶定義的函數(shù)使程序結(jié)構(gòu)變得更清晰、更合理以及代碼更簡(jiǎn)潔。PHP已經(jīng)預(yù)定義了大量的函數(shù),讀者需要詳細(xì)資料的話可以查詢PHP的網(wǎng)站,而我們這里主要講的是如何定義使用用戶定義的函數(shù)。
1.用戶定義函數(shù)
用戶在解決一些問(wèn)題時(shí)需要用戶多次完成同樣的工作,還有就是PHP沒(méi)有解決的功能等這些問(wèn)題,我們則提倡使用函數(shù)。PHP定義函數(shù)的方式,沒(méi)有象變量定義那樣非常嚴(yán)格,在這里大小寫可以混用,可以在定義的時(shí)候使用大寫,使用的時(shí)候用小寫的函數(shù)名,從這點(diǎn)上可以看出PHP是非常地為編程人員著想,PHP的函數(shù)定義如下
function 函數(shù)名(參數(shù)1,參數(shù)2,...)
{ 語(yǔ)句塊
return 返回值}
PHP的函數(shù)可以有返回值,也可以沒(méi)有返回值,這樣可以省略上面的返回語(yǔ)句。
2.參數(shù)
<?php
$str=″我是參數(shù)1″;
$str2=″我是參數(shù)2″;
function testFunc($testarg1,testarg2,testarg3=″我是測(cè)試″)
{
echo $testarg1.″\n″;
echo $testarg2.″\n″;
echo $testarg3.″\n″;
$testarg1=$testarg1.″測(cè)試″;
$testarg2=$testarg2.″測(cè)試″;
}
testfunc($str,&$str2);
echo $str.″\n″;
echo $str2.″\n″;
/*
調(diào)用里后輸出:
我是參數(shù)1
我是參數(shù)2
我是測(cè)試
我是參數(shù)1
我是參數(shù)2測(cè)試
*/
?>
請(qǐng)注意看上面的函數(shù),PHP的參數(shù)使用比較靈活,我們可以象C里面一樣使用“&”引用參數(shù),在函數(shù)里改變參數(shù)的值的話,就直接改變了這個(gè)變量的值,也可定義參數(shù)的缺省值,這樣可以在需要的時(shí)候省略參數(shù)。
InstallShield 5.1由InstallShield公司開發(fā),它提供了全面的軟件安裝盤制作技術(shù)。InstallShiteld 5.1與舊版本相比采用了全新的集成開發(fā)環(huán)境(IDE),使用戶僅通過(guò)鼠標(biāo)就能完成安裝盤的制作。InstallShiteld 5.1分為測(cè)試版、普通版和國(guó)際版,其中國(guó)際版支持用戶在安裝過(guò)程中使用本地語(yǔ)言文字。下面將介紹InstallShiteld 5.1國(guó)際版的使用方法。
##1 一、InstallShiteld 5.1的安裝與卸載
1.安裝的系統(tǒng)要求如^00100011a^
2.安裝操作步驟如^00100011b^
3.卸載InstallShiteld 5.1
安裝完成后,安裝程序除了將主要程序文件復(fù)制到指定的目標(biāo)文件夾外,還將部分DLL文件復(fù)制到Windows的系統(tǒng)目錄中,并自動(dòng)在C盤根目錄下建立一個(gè)名為“My Installations”的文件夾,作為所制作的安裝工程的默認(rèn)存放位置。在卸載前,先將該目錄下的工程進(jìn)行備份,再打開Windows控制面板中的“添加/刪除程序”,選擇“InstallShield 5.1 Professional Edition”,單擊“添加/刪除”,確認(rèn)后即可完成卸載。