版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
/PHP基本語法詳解您無法在瀏覽器中通過查看源文檔的方式來查看PHP的源代碼-您只能看到PHP文件的輸出,即純粹的HTML。這是因為在結(jié)果返回瀏覽器之前,腳本就已經(jīng)在服務(wù)器執(zhí)行了。PHP標記在之前的的例子中的PHP代碼是以“<?php”為開始,“?>”為結(jié)束,這類似于所有的HTML標記,因為它們都是以小于號為開始,以大于號為結(jié)束的。這些符號就叫做PHP標記。PHP標記中有4中不同的風(fēng)格供我們使用*XML風(fēng)格<?php?>這是我們以后將使用的標記風(fēng)格。他是PHP推薦使用的標記風(fēng)格,服務(wù)器管理員不能禁用這種風(fēng)格的標記,因此可以保證正在所有的服務(wù)器上使用這種風(fēng)格的標記,特別是編寫用于不同服務(wù)器環(huán)境的應(yīng)用程序時,這種標記風(fēng)格尤為重要。這種風(fēng)格的標記可以在XML(可擴展置標語言)文檔中使用,如果打算在站點中使用XML,就必須使用這種風(fēng)格的標記。*簡短風(fēng)格<??>這種標記風(fēng)格是最簡單的,但要使用這種標記字符,必須在配置文件中啟用short_open_tag選項,或者啟用短標記選項編譯PHP.我們不推薦使用這種標記,因為雖然該標記風(fēng)格是當前默認啟用的,但是系統(tǒng)管理員偶爾會禁用它,它會干擾XML文檔的聲明。*SCRIPT風(fēng)格這種標記風(fēng)格是最長的,使用過javascript或vbscript的人就會熟悉這種風(fēng)格<scriptlanguage=“php”>
echo(“這是類似
JavaScript
與
VBScript
語法的
PHP
語言嵌入范例,指定腳本語言的方式”);
</script>*ASP風(fēng)格這種標記風(fēng)格和ASP或ASP.NET的標記風(fēng)格相同。如果在配置文件中啟用了asp_tags選項就可以使用它<%echo(“ASP的風(fēng)格的標記”);%>PHP輸出語句有兩種通過PHP來輸出文本的基礎(chǔ)指令:echo和print。在上面的例子中,我們使用了echo語句來輸出文本"HelloWorld"。PHP注釋對于閱讀代碼的人來說,注釋其實就相當于代碼的解釋和說明。注釋可以用來解釋腳本的用途,腳本編寫人,為什么要按如此的方法編寫代碼,上一次的修改時間等等,PHP支持C,C++和SHELL腳本風(fēng)格的注釋。單行注釋#或//多行注釋/**/注意:單行注釋可以嵌套在多行注釋里使用的但是多行注釋是無法在嵌套的
<?php
echo
"這是第一種例子。\n";
//
本例是
C++
語法的注釋
/*
本例采用多行的
注釋方式
*/
echo
"這是第兩種例子。\n";
echo
"這是第三種例子。\n";
#
本例使用
UNIX
Shell
語法注釋?>C風(fēng)格的注釋在碰到第一個*/時結(jié)束。小心不要嵌套C風(fēng)格的注釋,當注釋大量代碼時,可能犯該錯誤。<?php
/*
echo
"This
is
a
test";
/*
This
comment
will
cause
a
problem
*/
*/
?>PHP數(shù)據(jù)類型數(shù)據(jù)類型四種標量類型:boolean(布爾型):表達了真值,可以為TRUE或FALSE。要指定一個布爾值,使用關(guān)鍵字TRUE或FALSE。兩個都不區(qū)分大小寫。<?php
$foo
=
True;
//
assign
the
value
TRUE
to
$foo
?>當轉(zhuǎn)換為boolean時,以下值被認為是FALSE:布爾值FALSE整型值0(零)浮點型值0.0(零)空白字符串和字符串"0"沒有成員變量的數(shù)組特殊類型NULL(包括尚未設(shè)定的變量)注意:-1和其它非零值(不論正負)一樣,被認為是TRUE!integer(整型)integer為整數(shù)型別。在32位的操作系統(tǒng)中,它的有效范圍是-2,147,483,648到+2,147,483,647(2^31+符號位)。要使用16進位整數(shù)可以在面加0x。整型值可以用十進制,十六進制或八進制符號指定,前面可以加上可選的符號(-或者+)。如果用八進制符號,數(shù)字前必須加上0(零),用十六進制符號數(shù)字前必須加上0x。<?php
$a
=
1234;
//
十進制數(shù)
$a
=
-123;
//
一個負數(shù)
$a
=
0123;
//
八進制數(shù)(等于十進制的
83)
$a
=
0x1A;
//
十六進制數(shù)(等于十進制的
26)
?>float(也叫浮點數(shù),雙精度數(shù)或?qū)崝?shù))浮點數(shù)為浮點數(shù)型別。在32位的操作系統(tǒng)中,它的有效范圍是1.7E-308到1.7E+308。(自然底數(shù)e=2.71828183)<?php
$a
=
1.234;
$a
=
1.2e3;
$a
=
7E-10;
?>string(字符串)即為字符串變量,無論是單一字符或數(shù)千字的字符串都是使用這個變量類型。值得注意的是要指定字符串給字符串變量,要在頭尾加上雙引號(例如:"這是字符串")。在要讓字符串換行時,可使用溢出字符,也就是反斜線加上指定的符號,若是\x加上二位數(shù)字,如\xFE即表十六進位字符,詳見下表:符號意義\"雙引號\\反斜線\n換行回車\r送出CR\t跳位(TAB)定義字符串時,只有一種引號被視為定義符,即單引號或雙引號。于是,如果一個字符串由雙引號開始,那么只有雙引號被分析器解析。這樣,你就可以在雙引號串中包含任何其他字符,甚至單引號。下面的引號串都是合法的:$s="I'mastudent";
$s='Iama“student”';當PHP遇到與串的開頭相對應(yīng)的引號時,便認為已經(jīng)到了字符串尾部,于是:
"Whydoesn't"this"work?"
實際上被PHP語法分析器分成三個部分:
"Whydoesn't"——包含一個單引號的雙引號串
this——多余的字符,分析器無法處理
"work?"——普通字符串
上面的這個例子企圖在雙引號串中包含雙引號,而分析器在遇到第二個雙引號時便認為字符串結(jié)束了。要達到包含引號的目的,必須分析器在遇到串內(nèi)普通引號的時候忽略它的原意,我們在引號的前面加上一個反斜杠來告訴PHP:這個引號是字符串的一部分,正確的表示方法是這樣:
"Whydoesn't\"that\"work?"字串可以使用字串連接符(.)來連接,如:
$first_name='A';
$last_name='B';
$full_name=$first_name.''.$last_name;注意:<?$aa=5;echo$aa.‘test<br/>’;echo"$aatest<br/>";//在雙引號中,變量名稱被變量值替代echo’$aatest<br/>’;;?>//在單引號中,變量名稱或其他的文本都會不經(jīng)修改而發(fā)送給瀏覽器復(fù)合類型:arrayobjectarray(數(shù)組)array為數(shù)組變量,可以是二維、三維或者多維數(shù)組,其中的元素也很自由,可以是string、integer或者double,甚至是array。可以用array()語言結(jié)構(gòu)來新建一個array。它接受一定數(shù)量用逗號分隔的key=>value參數(shù)對。key只能是整數(shù)和字符串$a
=
array(
1
=>
'one',
2
=>
'two',
3
=>
'three'
);$a
=
array(
'one','two',
'three'
);默認下標是從0開始$MyArray1
=
array("a",
"b",
"c",
"d");//一維數(shù)組
$MyArray2
=
array(
"地支"
=>
array("子",
"丑",
"寅",
"卯"),
"生肖"
=>
array("鼠",
"牛",
"虎",
"兔"),
"數(shù)字"
=>
array(1,
2,
3,
4)
);//二維數(shù)組<?php
$arr
=
array(12
=>
true,"foo"
=>
"bar",
false);
echo
$arr["foo"];
//
bar
echo
$arr[12];
//
1
?>結(jié)果:bar1<?php$MyArray1=array("a","b","c","d");echo$MyArray1[1];print_r($MyArray1);?>結(jié)果:b(索引值從0開始)數(shù)據(jù)類型強制轉(zhuǎn)換: <?php
$foo
=
10;
//
$foo
is
an
integer
$bar
=
(bool)
$foo;
//
$bar
is
a
boolean
?>允許的強制轉(zhuǎn)換有:(int),(integer)-轉(zhuǎn)換成整型(bool),(boolean)-轉(zhuǎn)換成布爾型(float),(double),(real)-轉(zhuǎn)換成浮點型(string)-轉(zhuǎn)換成字符串(array)-轉(zhuǎn)換成數(shù)組(object)-轉(zhuǎn)換成對象強制類型強制轉(zhuǎn)換(參考:PHP手冊)PHP中的類型強制轉(zhuǎn)換和C中的非常像:在要轉(zhuǎn)換的變量之前加上用括號括起來的目標類型。允許的強制轉(zhuǎn)換有:(int),(integer)
-轉(zhuǎn)換成整型(bool),(boolean)
-轉(zhuǎn)換成布爾型(float),(double),(real)
-轉(zhuǎn)換成浮點型(string)
-轉(zhuǎn)換成字符串(array)
-轉(zhuǎn)換成數(shù)組(object)
-轉(zhuǎn)換成對象注意在括號內(nèi)允許有空格和制表符
還可以用settype(mixedvar,stringtype)進行強制轉(zhuǎn)換.
1.強制轉(zhuǎn)換為布爾值(bool)|(boolean)要明示地將一個值轉(zhuǎn)換成boolean,用(bool)或者(boolean)來強制轉(zhuǎn)換。但是很多情況下不需要用強制轉(zhuǎn)換,因為當運算符,函數(shù)或者流程控制需要一個boolean參數(shù)時,該值會被自動轉(zhuǎn)換。
當轉(zhuǎn)換為boolean時,以下值被認為是FALSE:
布爾值FALSE
整型值0(零)
浮點型值0.0(零)
空白字符串和字符串"0"
沒有成員變量的數(shù)組
沒有單元的對象(僅適用于PHP4)
特殊類型NULL(包括尚未設(shè)定的變量)
所有其它值都被認為是TRUE(包括任何資源)。?php
var_dump((bool)"");//bool(false)
var_dump((bool)1);//bool(true)
var_dump((bool)-2);//bool(true)
var_dump((bool)"foo");//bool(true)
var_dump((bool)2.3e5);//bool(true)
var_dump((bool)array(12));//bool(true)
var_dump((bool)array());//bool(false)
var_dump((bool)"false");//bool(true)
?>
2.強制轉(zhuǎn)換為整形(int)|(integer)
要明示地將一個值轉(zhuǎn)換為integer,用(int)或(integer)強制轉(zhuǎn)換。不過大多數(shù)情況下都不需要強制轉(zhuǎn)換,因為當運算符,函數(shù)或流程控制需要一個integer參數(shù)時,值會自動轉(zhuǎn)換。還可以通過函數(shù)intval()來將一個值轉(zhuǎn)換成整型。
a.從bool轉(zhuǎn)換
b.從浮點數(shù)轉(zhuǎn)換
取整,超出范圍,結(jié)果不定
c.從字符串轉(zhuǎn)換
參看字符串轉(zhuǎn)換為數(shù)值
d.從其它類型轉(zhuǎn)換
先換成bool值,再轉(zhuǎn)換決不要將未知的分數(shù)強制轉(zhuǎn)換為integer,這樣有時會導(dǎo)致意外的結(jié)果。
<?php
echo(int)((0.1+0.7)*10);//顯示7
?>
$str="123.456abc7";
//(int)123
echo(int)$str;
$str="abc123.456";
//(int)0
$str=true;
//(int)1
$str=false;
//(int)0
3.強制轉(zhuǎn)換為浮點型(int)|(double)|(real)|doubleval()|floatval()|intval()
精度:0.12345678901234
//double,real都一樣
數(shù)據(jù)的丟失參字符串轉(zhuǎn)換為數(shù)值
4.強制換為字符串(string)|strval()
可以用(string)標記或者strval()函數(shù)將一個值轉(zhuǎn)換為字符串。當某表達式需要字符串時,字符串的轉(zhuǎn)換會在表達式范圍內(nèi)自動完成。例如當使用echo()或者print()函數(shù)時,或者將一個變量值與一個字符串進行比較的時候。布爾值TRUE將被轉(zhuǎn)換為字符串"1",而值FALSE將被表示為""(即空字符串)。這樣就可以隨意地在布爾值和字符串之間進行比較。整數(shù)或浮點數(shù)數(shù)值在轉(zhuǎn)換成字符串時,字符串由表示這些數(shù)值的數(shù)字字符組成(浮點數(shù)還包含有指數(shù)部分)。數(shù)組將被轉(zhuǎn)換成字符串"Array",因此無法通過echo()或者print()函數(shù)來輸出數(shù)組的內(nèi)容。請參考下文以獲取更多提示。對象將被轉(zhuǎn)換成字符串"Object"。如果因為調(diào)試需要,需要將對象的成員變量打印出來,請閱讀下文。如果希望得到該對象所依附的類的名稱,請使用函數(shù)get_class()。自PHP5起,如果合適可以用__toString()方法。資源類型總是以"Resourceid#1"的格式被轉(zhuǎn)換成字符串,其中1是PHP在運行時給資源指定的唯一標識。如果希望獲取資源的類型,請使用函數(shù)get_resource_type()。NULL將被轉(zhuǎn)換成空字符串。正如以上所示,將數(shù)組、對象或者資源打印出來,并不能提供任何關(guān)于這些值本身的有用的信息。請參閱函數(shù)print_r()和var_dump(),對于調(diào)試來說,這些是更好的打印值的方法。
可以將PHP的值轉(zhuǎn)換為字符串以永久地儲存它們。這種方法被稱為序列化,可以用函數(shù)serialize()來完成該操作。如果在安裝PHP時建立了WDDX支持,還可以將PHP的值序列化為XML結(jié)構(gòu)。
4.強制轉(zhuǎn)換為數(shù)組(array)對于任何的類型:整型、浮點、字符串、布爾和資源,如果將一個值轉(zhuǎn)換為數(shù)組,將得到一個僅有一個元素的數(shù)組(其下標為0),該元素即為此標量的值。如果將一個對象轉(zhuǎn)換成一個數(shù)組,所得到的數(shù)組的元素為該對象的屬性(成員變量),其鍵名為成員變量名。如果將一個NULL值轉(zhuǎn)換成數(shù)組,將得到一個空數(shù)組。
5.轉(zhuǎn)換為對象(object)
如果將一個對象轉(zhuǎn)換成對象,它將不會有任何變化。如果其它任何類型的值被轉(zhuǎn)換成對象,內(nèi)置類stdClass的一個實例將被建立。如果該值為NULL,則新的實例為空。數(shù)組轉(zhuǎn)換成對象將使鍵名成為屬性名并具有相對應(yīng)的值。對于任何其它的值,名為scalar的成員變量將包含該值
6.轉(zhuǎn)換為資源(無法轉(zhuǎn)換)
由于資源類型變量保存有為打開文件、數(shù)據(jù)庫連接、圖形畫布區(qū)域等的特殊句柄,因此無法將其它類型的值轉(zhuǎn)換為資源。
■PHP類型比較表(看手冊附錄P)
以下的表格顯示了PHP類型和比較運算符在松散和嚴格比較時的作用。該補充材料還和類型戲法的相關(guān)章節(jié)內(nèi)容有關(guān)。注意HTML表單并不傳遞整數(shù)、浮點數(shù)或者布爾值,它們只傳遞字符串。要想檢測一個字符串是不是數(shù)字,可以使用is_numeric()函數(shù)。在沒有定義變量$x的時候,諸如if($x)的用法會導(dǎo)致一個E_NOTICE級別的錯誤。所以,可以考慮用empty()或者isset()函數(shù)來初始化變量。PHP常量 常量:合法的常量名以字母(由大寫字母組成和C語言一樣)或下劃線開始,后面跟著任何字母,數(shù)字或下劃線。常量和變量不同:常量前面沒有美元符號($);常量只能用define()函數(shù)定義,而不能通過賦值語句;常量可以不用理會變量范圍的規(guī)則而在任何地方定義和訪問;常量一旦定義就不能被重新定義或者取消定義;常量只能包含標量數(shù)據(jù)(boolean,integer,float和string)。常量的范圍是全局的。不用管作用域就可以在腳本的任何地方訪問常量define()的功能可以讓我們自行定義所需要的常量。見下例<?php
define("CONSTANT",
"Hello
world.");
echo
CONSTANT;
//
outputs
"Hello
world."echo
Constant;
//
outputs
"Constant"
and
issues
a
notice.
?>PHP變量變量: 變量用一個美元符號($)后面跟變量名來表示。變量名是區(qū)分大小寫的。一個有效的變量名由字母或者下劃線開頭,后面跟上任意數(shù)量的字母,數(shù)字或下劃線。PHP是一門松散類型的語言(LooselyTypedLanguage)在PHP中,不需要在設(shè)置變量之前聲明該變量。在上面的例子中,您看到了,不必向PHP聲明該變量的數(shù)據(jù)類型。根據(jù)變量被設(shè)置的方式,PHP會自動地把變量轉(zhuǎn)換為正確的數(shù)據(jù)類型。在強類型的編程語言中,您必須在使用前聲明變量的類型和名稱。在PHP中,變量會在使用時被自動聲明??勺冏兞?variablevariable): <?php$a='name'; $$a='張三';?>這個代碼等價于:$name=張三;<?php
$a
=
"Hello";
$$a
=
"world";
echo
"$a,
$hello";
//
Hello,
world
echo
"$a,
{$a}";
//
也是
Hello,
world
?>變量范圍(作用域): 作用域是指在一個腳本中某個變量在哪些地方可以使用或可見。 全局變量(globalvariable):<?php$a
=
1;$b
=
2;function
Sum(){global
$a,
$b;$b
=
$a
+
$b;}Sum();echo
$b;?>輸出是’3 局部變量(localvariable):任何用于函數(shù)內(nèi)部的變量將被限制在局部函數(shù)范圍內(nèi)。<?php$a
=
1;
/*
global
scope
*/function
Test(){ ($a=2;)
echo
$a;
/*
reference
to
local
scope
variable
*/}Test();?>什么也不輸出靜態(tài)變量(staticvariable):在函數(shù)退出時,這個變量始終存在,不被銷毀,但不能被其它函數(shù)使用,當再次進入該函數(shù)時,將保存上次的結(jié)果。<?php
//
靜態(tài)變量的例子
function
myfunc()
{
static
$mystr;
$mystr.="哈";
echo
$mystr."<br>\n";
}
myfunc();
//
哈
myfunc();
//
哈哈
myfunc();
//
哈哈哈
?>PHP運算符使用操作符:操作符是用來對數(shù)值和變量進行某種操作運算的符號。學(xué)過的兩個操作符:賦值操作符(=)和字符串連接操作符(.)。算數(shù)操作符:例子名稱結(jié)果-$a取反$a的負值。$a+$b加法$a和$b的和。$a-$b減法$a和$b的差。$a*$b乘法$a和$b的積。$a/$b除法$a除以$b的商。$a%$b取余數(shù)$a除以$b的余數(shù)。(“/”)總是返回浮點數(shù),即使兩個運算數(shù)是整數(shù)(或由字符串轉(zhuǎn)換成的整數(shù))也是這樣。注:取模$a%$b在$a為負值時的結(jié)果也是負值。<?php
$a
=
8;
$b
=
2;
$c
=
3;
echo
$a+$b."<br>\n";echo
$a-$b."<br>\n";echo
$a*$b."<br>\n";echo
$a/$b."<br>\n";echo
$a%$c."<br>\n";?> 注意:(*)作為乘法操作符,而不是常規(guī)的乘法符號。除法操作符同理。字符串運算符:有兩個字符串運算符。第一個是連接運算符(“.”),它返回其左右參數(shù)連接后的字符串。第二個是連接賦值運算符(“.=”),它將右邊參數(shù)附加到左邊的參數(shù)后。<?php
$a
=
"Hello
";
$b
=
$a
.
"World!";
//
now
$b
contains
"Hello
World!"
$a
=
"Hello
";
$a
.=
"World!";
//
now
$a
contains
"Hello
World!"
?>賦值運算符:基本的賦值運算符是“=”。一開始可能會以為它是“等于”,其實不是的。它實際上意味著把右邊表達式的值賦給左邊的運算數(shù)。賦值運算表達式的值也就是所賦的值。也就是說,“$a=3”<?php
$a
=
($b
=
4)
+
5;
//
$a
現(xiàn)在成了
9,而
$b
成了
4。
?>括號提高子表達式的優(yōu)先級復(fù)合賦值操作符:增加程序的執(zhí)行效率。符號使用方法等價于意義=$a=$b$a=$b將右邊的值連到左邊+=$a+=$b$a=$a+$b將右邊的值加到左邊-=$a-=$b$a=$a-$b將右邊的值減到左邊*=$a*=$b$a=$a*$b將左邊的值乘以右邊/=$a/=$b$a=$a/$b將左邊的值除以右邊%=$a%=$b$a=$a%$b將左邊的值對右邊取余數(shù).=$a.=$b$a=$a.$b將右邊的字符串加到左邊<?php
$a
=
5;
$a
+=
2;
//
即
$a
=
$a
+
2;
echo
$a."<br>\n";
$b
=
"哇";
$b
.=
"哈";
//
$b
=
"哇哈";
$b
.=
"哈";
//
$b
=
"哇哈哈";
echo
"$b<br>\n";
?>遞增/遞減運算符: 注:遞增/遞減運算符不影響布爾值。遞減NULL值也沒有效果,但是遞增NULL的結(jié)果是1。注意字符變量只能遞增,不能遞減。例子名稱效果++$a前加$a的值加一,然后返回$a。$a++后加返回$a,然后將$a的值加一。--$a前減$a的值減一,然后返回$a。$a--后減返回$a,然后將$a的值減一。<?phpecho
"**********";
$a
=
5;
echo
"a++"
.
$a++
.
"<br
/>\n";
echo
"a
"
.
$a
.
"<br
/>\n";
echo
"**********";
$a
=
5;
echo
"++a"
.
++$a
.
"<br
/>\n";
echo
"a"
.
$a
.
"<br
/>\n";
echo
"**********";
$a
=
5;
echo
"a--"
.
$a--
.
"<br
/>\n";
echo
"a"
.
$a
.
"<br
/>\n";
echo
"**********";
$a
=
5;
echo
"--a"
.
--$a
.
"<br
/>\n";
echo
"a"
.
$a
.
"<br
/>\n";
?>比較運算符:比較兩個值。根據(jù)比較結(jié)果返回:true或false。 例子名稱結(jié)果$a==$b等于TRUE,如果$a等于$b。$a!=$b不等TRUE,如果$a不等于$b。$a<>$b不等TRUE,如果$a不等于$b。$a<$b小與TRUE,如果$a嚴格小于$b。$a>$b大于TRUE,如果$a嚴格$b。$a<=$b小于等于TRUE,如果$a小于或者等于$b。$a>=$b大于等于TRUE,如果$a大于或者等于$b。邏輯運算符:例子名稱結(jié)果$aand$bAnd(邏輯與)TRUE,如果$a與$b都為TRUE。$aor$bOr(邏輯或)TRUE,如果$a或$b任一為TRUE。$axor$bXor(邏輯異或)TRUE,如果$a或$b任一為TRUE,但不同時是。!$aNot(邏輯非)TRUE,如果$a不為TRUE。$a&&$bAnd(邏輯與)TRUE,如果$a與$b都為TRUE。$a||$bOr(邏輯或)TRUE,如果$a或$b任一為TRUE。“與”和“或”有兩種不同形式運算符的原因是它們運算的優(yōu)先級不同<?$a=0;$b=1;if($aand$b){ echo"真";}else{ echo"假";}?><?$a="0";$b="1";if($aand$b){ echo"真";}else{ echo"假";}?>PHP語句條件判斷語句: 第一種是只有用到if條件,當作單純的判斷。解釋成"若發(fā)生了某事則怎樣處理"。if(expr){statement}其中的expr為判斷的條件,通常都是用邏輯運算符號(logicaloperators)當判斷的條件。而statement為符合條件的執(zhí)行部分程序,若程序只有一行,可以省略大括號{}。范例:本例省略大括號。<?php
if
(1==1)
echo
"1等于1";
?>范例:本例的執(zhí)行部分有三行,不可省略大括號。<?php
if
(1==1)
{
echo
"1等于1";
echo
"1就等于1";
}
?>第兩種是除了if之外,加上了else的條件,可解釋成"若發(fā)生了某事則怎樣處理,否則該如何解決"。范例:上面的例子來修改成更完整的處理。其中的else由于只有一行執(zhí)行的指令,因此不用加上大括號。<?php
$a="1";$b="2";if($a==$b){ echo"a等于b";}else{ echo"a不等于b";}
?>如果當前日期是周五,下面的代碼將輸出"周末愉快!",否則會輸出"美好的一天!":<html><body><?php$d=date("D");if($d=="Fri")echo"周末愉快!";elseecho"美好的一天!";?></body></html>如果需要在條件成立或不成立時執(zhí)行多行代碼,應(yīng)該把這些代碼行包括在花括號中:<html><body><?php$d=date("D");if($d=="Fri"){echo"Hello!<br/>";echo"周末愉快!";echo"星期一見!";}?></body></html>第三種就是遞歸的if..else循環(huán),通常用在多種決策判斷時。它將數(shù)個if..else拿來合并運用處理。直接看下面的例子<?php
if
($a
>
$b)
{
echo
"a
比
b
大";
}
elseif
($a
==
$b)
{
echo
"a
等于
b";
}
else
{
echo
"a
比
b
小";
}
?>上例只用二層的if..else循環(huán),用來比較a和b兩個變量。實際要使用這種遞歸if..else循環(huán)時,請小心使用,因為太多層的循環(huán)容易使設(shè)計的邏輯出問題,或者少打了大括號等,都會造成程序出現(xiàn)莫名其妙的問題。如果當前日期是周五,下面的例子會輸出"周末愉快!",如果是周日,則輸出"星期天愉快!",否則輸出"美好的一天!":<html><body><?php$d=date("D");if($d=="Fri")echo"周末愉快!";elseif($d=="Sun")echo"星期天愉快!";elseecho"美好的一天!";?></body></html>do..while是重復(fù)敘述的循環(huán),可以分成兩種模式。最單純的就是只有while的循環(huán)。用來在指定的條件內(nèi),不斷地重覆指定的步驟。語法如下while(expr){statement}其中的expr為判斷的條件,通常都是用邏輯運算符號(logicaloperators)當判斷的條件。而statement為符合條件的執(zhí)行部分程序,若程序只有一行,可以省略大括號{}。下例很有趣,要電腦的瀏覽器出現(xiàn)十次"以后不敢了"的字符串,前面并加上數(shù)字,表示說了第幾次不敢了。(感覺好像是WebServer做錯事被處罰)<?php
$i
=
1;
while
($i
<=
10)
{
$i++;
echo
".
以后不敢了<br>\n";
}
?>while可以不用大括號來包住執(zhí)行部分,而使用冒號加上endwhile。見下例<?php
$i
=
1;
while
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 水資源管理政策與法規(guī)
- 區(qū)塊鏈技術(shù)應(yīng)用授權(quán)委托書樣本
- 煙囪自動滅火系統(tǒng)安裝合同
- 環(huán)保國際合作機構(gòu)財務(wù)管理辦法
- 文化主題客棧租賃合同
- 核能發(fā)電用電安全檢查細則
- 鋼結(jié)構(gòu)節(jié)能施工合同
- 城市景觀雕塑維修臨建合同
- 2024年橋梁工程設(shè)計施工總承包合同
- 2024年物聯(lián)網(wǎng)平臺搭建與應(yīng)用合同
- 2022-2023學(xué)年廣東省深圳市鹽田區(qū)六年級上學(xué)期期末英語試卷
- 影視制作技能薪酬激勵
- 24秋國家開放大學(xué)《勞動關(guān)系與社會保障實務(wù)》形考任務(wù)1-4參考答案
- 2024國有企業(yè)與私營企業(yè)之間的混合所有制改革合作協(xié)議
- 部編版歷史初二上學(xué)期期末試題與參考答案(2024-2025學(xué)年)
- 國際貿(mào)易實務(wù)(雙語)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 種豬場重點動物疫病綜合控制與凈化總體方案
- 2024年HOP重大事故預(yù)防-人與組織安全績效手冊
- 四川省成都市成外2025屆數(shù)學(xué)高二上期末學(xué)業(yè)質(zhì)量監(jiān)測模擬試題含解析
- 統(tǒng)編版小學(xué)語文五年級上冊必背古詩詞及日積月累(含譯文)
- 總包對分包單位管理條例及獎懲措施方案
評論
0/150
提交評論