




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
/PHP基本語(yǔ)法詳解您無(wú)法在瀏覽器中通過(guò)查看源文檔的方式來(lái)查看PHP的源代碼-您只能看到PHP文件的輸出,即純粹的HTML。這是因?yàn)樵诮Y(jié)果返回瀏覽器之前,腳本就已經(jīng)在服務(wù)器執(zhí)行了。PHP標(biāo)記在之前的的例子中的PHP代碼是以“<?php”為開(kāi)始,“?>”為結(jié)束,這類(lèi)似于所有的HTML標(biāo)記,因?yàn)樗鼈兌际且孕∮谔?hào)為開(kāi)始,以大于號(hào)為結(jié)束的。這些符號(hào)就叫做PHP標(biāo)記。PHP標(biāo)記中有4中不同的風(fēng)格供我們使用*XML風(fēng)格<?php?>這是我們以后將使用的標(biāo)記風(fēng)格。他是PHP推薦使用的標(biāo)記風(fēng)格,服務(wù)器管理員不能禁用這種風(fēng)格的標(biāo)記,因此可以保證正在所有的服務(wù)器上使用這種風(fēng)格的標(biāo)記,特別是編寫(xiě)用于不同服務(wù)器環(huán)境的應(yīng)用程序時(shí),這種標(biāo)記風(fēng)格尤為重要。這種風(fēng)格的標(biāo)記可以在XML(可擴(kuò)展置標(biāo)語(yǔ)言)文檔中使用,如果打算在站點(diǎn)中使用XML,就必須使用這種風(fēng)格的標(biāo)記。*簡(jiǎn)短風(fēng)格<??>這種標(biāo)記風(fēng)格是最簡(jiǎn)單的,但要使用這種標(biāo)記字符,必須在配置文件中啟用short_open_tag選項(xiàng),或者啟用短標(biāo)記選項(xiàng)編譯PHP.我們不推薦使用這種標(biāo)記,因?yàn)殡m然該標(biāo)記風(fēng)格是當(dāng)前默認(rèn)啟用的,但是系統(tǒng)管理員偶爾會(huì)禁用它,它會(huì)干擾XML文檔的聲明。*SCRIPT風(fēng)格這種標(biāo)記風(fēng)格是最長(zhǎng)的,使用過(guò)javascript或vbscript的人就會(huì)熟悉這種風(fēng)格<scriptlanguage=“php”>
echo(“這是類(lèi)似
JavaScript
與
VBScript
語(yǔ)法的
PHP
語(yǔ)言嵌入范例,指定腳本語(yǔ)言的方式”);
</script>*ASP風(fēng)格這種標(biāo)記風(fēng)格和ASP或ASP.NET的標(biāo)記風(fēng)格相同。如果在配置文件中啟用了asp_tags選項(xiàng)就可以使用它<%echo(“ASP的風(fēng)格的標(biāo)記”);%>PHP輸出語(yǔ)句有兩種通過(guò)PHP來(lái)輸出文本的基礎(chǔ)指令:echo和print。在上面的例子中,我們使用了echo語(yǔ)句來(lái)輸出文本"HelloWorld"。PHP注釋對(duì)于閱讀代碼的人來(lái)說(shuō),注釋其實(shí)就相當(dāng)于代碼的解釋和說(shuō)明。注釋可以用來(lái)解釋腳本的用途,腳本編寫(xiě)人,為什么要按如此的方法編寫(xiě)代碼,上一次的修改時(shí)間等等,PHP支持C,C++和SHELL腳本風(fēng)格的注釋。單行注釋#或//多行注釋/**/注意:?jiǎn)涡凶⑨尶梢郧短自诙嘈凶⑨尷锸褂玫牡嵌嘈凶⑨屖菬o(wú)法在嵌套的
<?php
echo
"這是第一種例子。\n";
//
本例是
C++
語(yǔ)法的注釋
/*
本例采用多行的
注釋方式
*/
echo
"這是第兩種例子。\n";
echo
"這是第三種例子。\n";
#
本例使用
UNIX
Shell
語(yǔ)法注釋?>C風(fēng)格的注釋在碰到第一個(gè)*/時(shí)結(jié)束。小心不要嵌套C風(fēng)格的注釋,當(dāng)注釋大量代碼時(shí),可能犯該錯(cuò)誤。<?php
/*
echo
"This
is
a
test";
/*
This
comment
will
cause
a
problem
*/
*/
?>PHP數(shù)據(jù)類(lèi)型數(shù)據(jù)類(lèi)型四種標(biāo)量類(lèi)型:boolean(布爾型):表達(dá)了真值,可以為T(mén)RUE或FALSE。要指定一個(gè)布爾值,使用關(guān)鍵字TRUE或FALSE。兩個(gè)都不區(qū)分大小寫(xiě)。<?php
$foo
=
True;
//
assign
the
value
TRUE
to
$foo
?>當(dāng)轉(zhuǎn)換為boolean時(shí),以下值被認(rèn)為是FALSE:布爾值FALSE整型值0(零)浮點(diǎn)型值0.0(零)空白字符串和字符串"0"沒(méi)有成員變量的數(shù)組特殊類(lèi)型NULL(包括尚未設(shè)定的變量)注意:-1和其它非零值(不論正負(fù))一樣,被認(rèn)為是TRUE!integer(整型)integer為整數(shù)型別。在32位的操作系統(tǒng)中,它的有效范圍是-2,147,483,648到+2,147,483,647(2^31+符號(hào)位)。要使用16進(jìn)位整數(shù)可以在面加0x。整型值可以用十進(jìn)制,十六進(jìn)制或八進(jìn)制符號(hào)指定,前面可以加上可選的符號(hào)(-或者+)。如果用八進(jìn)制符號(hào),數(shù)字前必須加上0(零),用十六進(jìn)制符號(hào)數(shù)字前必須加上0x。<?php
$a
=
1234;
//
十進(jìn)制數(shù)
$a
=
-123;
//
一個(gè)負(fù)數(shù)
$a
=
0123;
//
八進(jìn)制數(shù)(等于十進(jìn)制的
83)
$a
=
0x1A;
//
十六進(jìn)制數(shù)(等于十進(jìn)制的
26)
?>float(也叫浮點(diǎn)數(shù),雙精度數(shù)或?qū)崝?shù))浮點(diǎn)數(shù)為浮點(diǎn)數(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(字符串)即為字符串變量,無(wú)論是單一字符或數(shù)千字的字符串都是使用這個(gè)變量類(lèi)型。值得注意的是要指定字符串給字符串變量,要在頭尾加上雙引號(hào)(例如:"這是字符串")。在要讓字符串換行時(shí),可使用溢出字符,也就是反斜線加上指定的符號(hào),若是\x加上二位數(shù)字,如\xFE即表十六進(jìn)位字符,詳見(jiàn)下表:符號(hào)意義\"雙引號(hào)\\反斜線\n換行回車(chē)\r送出CR\t跳位(TAB)定義字符串時(shí),只有一種引號(hào)被視為定義符,即單引號(hào)或雙引號(hào)。于是,如果一個(gè)字符串由雙引號(hào)開(kāi)始,那么只有雙引號(hào)被分析器解析。這樣,你就可以在雙引號(hào)串中包含任何其他字符,甚至單引號(hào)。下面的引號(hào)串都是合法的:$s="I'mastudent";
$s='Iama“student”';當(dāng)PHP遇到與串的開(kāi)頭相對(duì)應(yīng)的引號(hào)時(shí),便認(rèn)為已經(jīng)到了字符串尾部,于是:
"Whydoesn't"this"work?"
實(shí)際上被PHP語(yǔ)法分析器分成三個(gè)部分:
"Whydoesn't"——包含一個(gè)單引號(hào)的雙引號(hào)串
this——多余的字符,分析器無(wú)法處理
"work?"——普通字符串
上面的這個(gè)例子企圖在雙引號(hào)串中包含雙引號(hào),而分析器在遇到第二個(gè)雙引號(hào)時(shí)便認(rèn)為字符串結(jié)束了。要達(dá)到包含引號(hào)的目的,必須分析器在遇到串內(nèi)普通引號(hào)的時(shí)候忽略它的原意,我們?cè)谝?hào)的前面加上一個(gè)反斜杠來(lái)告訴PHP:這個(gè)引號(hào)是字符串的一部分,正確的表示方法是這樣:
"Whydoesn't\"that\"work?"字串可以使用字串連接符(.)來(lái)連接,如:
$first_name='A';
$last_name='B';
$full_name=$first_name.''.$last_name;注意:<?$aa=5;echo$aa.‘test<br/>’;echo"$aatest<br/>";//在雙引號(hào)中,變量名稱被變量值替代echo’$aatest<br/>’;;?>//在單引號(hào)中,變量名稱或其他的文本都會(huì)不經(jīng)修改而發(fā)送給瀏覽器復(fù)合類(lèi)型:arrayobjectarray(數(shù)組)array為數(shù)組變量,可以是二維、三維或者多維數(shù)組,其中的元素也很自由,可以是string、integer或者double,甚至是array。可以用array()語(yǔ)言結(jié)構(gòu)來(lái)新建一個(gè)array。它接受一定數(shù)量用逗號(hào)分隔的key=>value參數(shù)對(duì)。key只能是整數(shù)和字符串$a
=
array(
1
=>
'one',
2
=>
'two',
3
=>
'three'
);$a
=
array(
'one','two',
'three'
);默認(rèn)下標(biāo)是從0開(kāi)始$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開(kāi)始)數(shù)據(jù)類(lèi)型強(qiáng)制轉(zhuǎn)換: <?php
$foo
=
10;
//
$foo
is
an
integer
$bar
=
(bool)
$foo;
//
$bar
is
a
boolean
?>允許的強(qiáng)制轉(zhuǎn)換有:(int),(integer)-轉(zhuǎn)換成整型(bool),(boolean)-轉(zhuǎn)換成布爾型(float),(double),(real)-轉(zhuǎn)換成浮點(diǎn)型(string)-轉(zhuǎn)換成字符串(array)-轉(zhuǎn)換成數(shù)組(object)-轉(zhuǎn)換成對(duì)象強(qiáng)制類(lèi)型強(qiáng)制轉(zhuǎn)換(參考:PHP手冊(cè))PHP中的類(lèi)型強(qiáng)制轉(zhuǎn)換和C中的非常像:在要轉(zhuǎn)換的變量之前加上用括號(hào)括起來(lái)的目標(biāo)類(lèi)型。允許的強(qiáng)制轉(zhuǎn)換有:(int),(integer)
-轉(zhuǎn)換成整型(bool),(boolean)
-轉(zhuǎn)換成布爾型(float),(double),(real)
-轉(zhuǎn)換成浮點(diǎn)型(string)
-轉(zhuǎn)換成字符串(array)
-轉(zhuǎn)換成數(shù)組(object)
-轉(zhuǎn)換成對(duì)象注意在括號(hào)內(nèi)允許有空格和制表符
還可以用settype(mixedvar,stringtype)進(jìn)行強(qiáng)制轉(zhuǎn)換.
1.強(qiáng)制轉(zhuǎn)換為布爾值(bool)|(boolean)要明示地將一個(gè)值轉(zhuǎn)換成boolean,用(bool)或者(boolean)來(lái)強(qiáng)制轉(zhuǎn)換。但是很多情況下不需要用強(qiáng)制轉(zhuǎn)換,因?yàn)楫?dāng)運(yùn)算符,函數(shù)或者流程控制需要一個(gè)boolean參數(shù)時(shí),該值會(huì)被自動(dòng)轉(zhuǎn)換。
當(dāng)轉(zhuǎn)換為boolean時(shí),以下值被認(rèn)為是FALSE:
布爾值FALSE
整型值0(零)
浮點(diǎn)型值0.0(零)
空白字符串和字符串"0"
沒(méi)有成員變量的數(shù)組
沒(méi)有單元的對(duì)象(僅適用于PHP4)
特殊類(lèi)型NULL(包括尚未設(shè)定的變量)
所有其它值都被認(rèn)為是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.強(qiáng)制轉(zhuǎn)換為整形(int)|(integer)
要明示地將一個(gè)值轉(zhuǎn)換為integer,用(int)或(integer)強(qiáng)制轉(zhuǎn)換。不過(guò)大多數(shù)情況下都不需要強(qiáng)制轉(zhuǎn)換,因?yàn)楫?dāng)運(yùn)算符,函數(shù)或流程控制需要一個(gè)integer參數(shù)時(shí),值會(huì)自動(dòng)轉(zhuǎn)換。還可以通過(guò)函數(shù)intval()來(lái)將一個(gè)值轉(zhuǎn)換成整型。
a.從bool轉(zhuǎn)換
b.從浮點(diǎn)數(shù)轉(zhuǎn)換
取整,超出范圍,結(jié)果不定
c.從字符串轉(zhuǎn)換
參看字符串轉(zhuǎn)換為數(shù)值
d.從其它類(lèi)型轉(zhuǎn)換
先換成bool值,再轉(zhuǎn)換決不要將未知的分?jǐn)?shù)強(qiáng)制轉(zhuǎn)換為integer,這樣有時(shí)會(huì)導(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.強(qiáng)制轉(zhuǎn)換為浮點(diǎn)型(int)|(double)|(real)|doubleval()|floatval()|intval()
精度:0.12345678901234
//double,real都一樣
數(shù)據(jù)的丟失參字符串轉(zhuǎn)換為數(shù)值
4.強(qiáng)制換為字符串(string)|strval()
可以用(string)標(biāo)記或者strval()函數(shù)將一個(gè)值轉(zhuǎn)換為字符串。當(dāng)某表達(dá)式需要字符串時(shí),字符串的轉(zhuǎn)換會(huì)在表達(dá)式范圍內(nèi)自動(dòng)完成。例如當(dāng)使用echo()或者print()函數(shù)時(shí),或者將一個(gè)變量值與一個(gè)字符串進(jìn)行比較的時(shí)候。布爾值TRUE將被轉(zhuǎn)換為字符串"1",而值FALSE將被表示為""(即空字符串)。這樣就可以隨意地在布爾值和字符串之間進(jìn)行比較。整數(shù)或浮點(diǎn)數(shù)數(shù)值在轉(zhuǎn)換成字符串時(shí),字符串由表示這些數(shù)值的數(shù)字字符組成(浮點(diǎn)數(shù)還包含有指數(shù)部分)。數(shù)組將被轉(zhuǎn)換成字符串"Array",因此無(wú)法通過(guò)echo()或者print()函數(shù)來(lái)輸出數(shù)組的內(nèi)容。請(qǐng)參考下文以獲取更多提示。對(duì)象將被轉(zhuǎn)換成字符串"Object"。如果因?yàn)檎{(diào)試需要,需要將對(duì)象的成員變量打印出來(lái),請(qǐng)閱讀下文。如果希望得到該對(duì)象所依附的類(lèi)的名稱,請(qǐng)使用函數(shù)get_class()。自PHP5起,如果合適可以用__toString()方法。資源類(lèi)型總是以"Resourceid#1"的格式被轉(zhuǎn)換成字符串,其中1是PHP在運(yùn)行時(shí)給資源指定的唯一標(biāo)識(shí)。如果希望獲取資源的類(lèi)型,請(qǐng)使用函數(shù)get_resource_type()。NULL將被轉(zhuǎn)換成空字符串。正如以上所示,將數(shù)組、對(duì)象或者資源打印出來(lái),并不能提供任何關(guān)于這些值本身的有用的信息。請(qǐng)參閱函數(shù)print_r()和var_dump(),對(duì)于調(diào)試來(lái)說(shuō),這些是更好的打印值的方法。
可以將PHP的值轉(zhuǎn)換為字符串以永久地儲(chǔ)存它們。這種方法被稱為序列化,可以用函數(shù)serialize()來(lái)完成該操作。如果在安裝PHP時(shí)建立了WDDX支持,還可以將PHP的值序列化為XML結(jié)構(gòu)。
4.強(qiáng)制轉(zhuǎn)換為數(shù)組(array)對(duì)于任何的類(lèi)型:整型、浮點(diǎn)、字符串、布爾和資源,如果將一個(gè)值轉(zhuǎn)換為數(shù)組,將得到一個(gè)僅有一個(gè)元素的數(shù)組(其下標(biāo)為0),該元素即為此標(biāo)量的值。如果將一個(gè)對(duì)象轉(zhuǎn)換成一個(gè)數(shù)組,所得到的數(shù)組的元素為該對(duì)象的屬性(成員變量),其鍵名為成員變量名。如果將一個(gè)NULL值轉(zhuǎn)換成數(shù)組,將得到一個(gè)空數(shù)組。
5.轉(zhuǎn)換為對(duì)象(object)
如果將一個(gè)對(duì)象轉(zhuǎn)換成對(duì)象,它將不會(huì)有任何變化。如果其它任何類(lèi)型的值被轉(zhuǎn)換成對(duì)象,內(nèi)置類(lèi)stdClass的一個(gè)實(shí)例將被建立。如果該值為NULL,則新的實(shí)例為空。數(shù)組轉(zhuǎn)換成對(duì)象將使鍵名成為屬性名并具有相對(duì)應(yīng)的值。對(duì)于任何其它的值,名為scalar的成員變量將包含該值
6.轉(zhuǎn)換為資源(無(wú)法轉(zhuǎn)換)
由于資源類(lèi)型變量保存有為打開(kāi)文件、數(shù)據(jù)庫(kù)連接、圖形畫(huà)布區(qū)域等的特殊句柄,因此無(wú)法將其它類(lèi)型的值轉(zhuǎn)換為資源。
■PHP類(lèi)型比較表(看手冊(cè)附錄P)
以下的表格顯示了PHP類(lèi)型和比較運(yùn)算符在松散和嚴(yán)格比較時(shí)的作用。該補(bǔ)充材料還和類(lèi)型戲法的相關(guān)章節(jié)內(nèi)容有關(guān)。注意HTML表單并不傳遞整數(shù)、浮點(diǎn)數(shù)或者布爾值,它們只傳遞字符串。要想檢測(cè)一個(gè)字符串是不是數(shù)字,可以使用is_numeric()函數(shù)。在沒(méi)有定義變量$x的時(shí)候,諸如if($x)的用法會(huì)導(dǎo)致一個(gè)E_NOTICE級(jí)別的錯(cuò)誤。所以,可以考慮用empty()或者isset()函數(shù)來(lái)初始化變量。PHP常量 常量:合法的常量名以字母(由大寫(xiě)字母組成和C語(yǔ)言一樣)或下劃線開(kāi)始,后面跟著任何字母,數(shù)字或下劃線。常量和變量不同:常量前面沒(méi)有美元符號(hào)($);常量只能用define()函數(shù)定義,而不能通過(guò)賦值語(yǔ)句;常量可以不用理會(huì)變量范圍的規(guī)則而在任何地方定義和訪問(wèn);常量一旦定義就不能被重新定義或者取消定義;常量只能包含標(biāo)量數(shù)據(jù)(boolean,integer,float和string)。常量的范圍是全局的。不用管作用域就可以在腳本的任何地方訪問(wèn)常量define()的功能可以讓我們自行定義所需要的常量。見(jiàn)下例<?php
define("CONSTANT",
"Hello
world.");
echo
CONSTANT;
//
outputs
"Hello
world."echo
Constant;
//
outputs
"Constant"
and
issues
a
notice.
?>PHP變量變量: 變量用一個(gè)美元符號(hào)($)后面跟變量名來(lái)表示。變量名是區(qū)分大小寫(xiě)的。一個(gè)有效的變量名由字母或者下劃線開(kāi)頭,后面跟上任意數(shù)量的字母,數(shù)字或下劃線。PHP是一門(mén)松散類(lèi)型的語(yǔ)言(LooselyTypedLanguage)在PHP中,不需要在設(shè)置變量之前聲明該變量。在上面的例子中,您看到了,不必向PHP聲明該變量的數(shù)據(jù)類(lèi)型。根據(jù)變量被設(shè)置的方式,PHP會(huì)自動(dòng)地把變量轉(zhuǎn)換為正確的數(shù)據(jù)類(lèi)型。在強(qiáng)類(lèi)型的編程語(yǔ)言中,您必須在使用前聲明變量的類(lèi)型和名稱。在PHP中,變量會(huì)在使用時(shí)被自動(dòng)聲明。可變變量(variablevariable): <?php$a='name'; $$a='張三';?>這個(gè)代碼等價(jià)于:$name=張三;<?php
$a
=
"Hello";
$$a
=
"world";
echo
"$a,
$hello";
//
Hello,
world
echo
"$a,
{$a}";
//
也是
Hello,
world
?>變量范圍(作用域): 作用域是指在一個(gè)腳本中某個(gè)變量在哪些地方可以使用或可見(jiàn)。 全局變量(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í),這個(gè)變量始終存在,不被銷(xiāo)毀,但不能被其它函數(shù)使用,當(dāng)再次進(jìn)入該函數(shù)時(shí),將保存上次的結(jié)果。<?php
//
靜態(tài)變量的例子
function
myfunc()
{
static
$mystr;
$mystr.="哈";
echo
$mystr."<br>\n";
}
myfunc();
//
哈
myfunc();
//
哈哈
myfunc();
//
哈哈哈
?>PHP運(yùn)算符使用操作符:操作符是用來(lái)對(duì)數(shù)值和變量進(jìn)行某種操作運(yùn)算的符號(hào)。學(xué)過(guò)的兩個(gè)操作符:賦值操作符(=)和字符串連接操作符(.)。算數(shù)操作符:例子名稱結(jié)果-$a取反$a的負(fù)值。$a+$b加法$a和$b的和。$a-$b減法$a和$b的差。$a*$b乘法$a和$b的積。$a/$b除法$a除以$b的商。$a%$b取余數(shù)$a除以$b的余數(shù)。(“/”)總是返回浮點(diǎn)數(shù),即使兩個(gè)運(yùn)算數(shù)是整數(shù)(或由字符串轉(zhuǎn)換成的整數(shù))也是這樣。注:取模$a%$b在$a為負(fù)值時(shí)的結(jié)果也是負(fù)值。<?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ī)的乘法符號(hào)。除法操作符同理。字符串運(yùn)算符:有兩個(gè)字符串運(yùn)算符。第一個(gè)是連接運(yùn)算符(“.”),它返回其左右參數(shù)連接后的字符串。第二個(gè)是連接賦值運(yùn)算符(“.=”),它將右邊參數(shù)附加到左邊的參數(shù)后。<?php
$a
=
"Hello
";
$b
=
$a
.
"World!";
//
now
$b
contains
"Hello
World!"
$a
=
"Hello
";
$a
.=
"World!";
//
now
$a
contains
"Hello
World!"
?>賦值運(yùn)算符:基本的賦值運(yùn)算符是“=”。一開(kāi)始可能會(huì)以為它是“等于”,其實(shí)不是的。它實(shí)際上意味著把右邊表達(dá)式的值賦給左邊的運(yùn)算數(shù)。賦值運(yùn)算表達(dá)式的值也就是所賦的值。也就是說(shuō),“$a=3”<?php
$a
=
($b
=
4)
+
5;
//
$a
現(xiàn)在成了
9,而
$b
成了
4。
?>括號(hào)提高子表達(dá)式的優(yōu)先級(jí)復(fù)合賦值操作符:增加程序的執(zhí)行效率。符號(hào)使用方法等價(jià)于意義=$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將左邊的值對(duì)右邊取余數(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";
?>遞增/遞減運(yùn)算符: 注:遞增/遞減運(yùn)算符不影響布爾值。遞減NULL值也沒(méi)有效果,但是遞增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";
?>比較運(yùn)算符:比較兩個(gè)值。根據(jù)比較結(jié)果返回:true或false。 例子名稱結(jié)果$a==$b等于TRUE,如果$a等于$b。$a!=$b不等TRUE,如果$a不等于$b。$a<>$b不等TRUE,如果$a不等于$b。$a<$b小與TRUE,如果$a嚴(yán)格小于$b。$a>$b大于TRUE,如果$a嚴(yán)格$b。$a<=$b小于等于TRUE,如果$a小于或者等于$b。$a>=$b大于等于TRUE,如果$a大于或者等于$b。邏輯運(yùn)算符:例子名稱結(jié)果$aand$bAnd(邏輯與)TRUE,如果$a與$b都為T(mén)RUE。$aor$bOr(邏輯或)TRUE,如果$a或$b任一為T(mén)RUE。$axor$bXor(邏輯異或)TRUE,如果$a或$b任一為T(mén)RUE,但不同時(shí)是。!$aNot(邏輯非)TRUE,如果$a不為T(mén)RUE。$a&&$bAnd(邏輯與)TRUE,如果$a與$b都為T(mén)RUE。$a||$bOr(邏輯或)TRUE,如果$a或$b任一為T(mén)RUE?!芭c”和“或”有兩種不同形式運(yùn)算符的原因是它們運(yùn)算的優(yōu)先級(jí)不同<?$a=0;$b=1;if($aand$b){ echo"真";}else{ echo"假";}?><?$a="0";$b="1";if($aand$b){ echo"真";}else{ echo"假";}?>PHP語(yǔ)句條件判斷語(yǔ)句: 第一種是只有用到if條件,當(dāng)作單純的判斷。解釋成"若發(fā)生了某事則怎樣處理"。if(expr){statement}其中的expr為判斷的條件,通常都是用邏輯運(yùn)算符號(hào)(logicaloperators)當(dāng)判斷的條件。而statement為符合條件的執(zhí)行部分程序,若程序只有一行,可以省略大括號(hào){}。范例:本例省略大括號(hào)。<?php
if
(1==1)
echo
"1等于1";
?>范例:本例的執(zhí)行部分有三行,不可省略大括號(hào)。<?php
if
(1==1)
{
echo
"1等于1";
echo
"1就等于1";
}
?>第兩種是除了if之外,加上了else的條件,可解釋成"若發(fā)生了某事則怎樣處理,否則該如何解決"。范例:上面的例子來(lái)修改成更完整的處理。其中的else由于只有一行執(zhí)行的指令,因此不用加上大括號(hào)。<?php
$a="1";$b="2";if($a==$b){ echo"a等于b";}else{ echo"a不等于b";}
?>如果當(dāng)前日期是周五,下面的代碼將輸出"周末愉快!",否則會(huì)輸出"美好的一天!":<html><body><?php$d=date("D");if($d=="Fri")echo"周末愉快!";elseecho"美好的一天!";?></body></html>如果需要在條件成立或不成立時(shí)執(zhí)行多行代碼,應(yīng)該把這些代碼行包括在花括號(hào)中:<html><body><?php$d=date("D");if($d=="Fri"){echo"Hello!<br/>";echo"周末愉快!";echo"星期一見(jiàn)!";}?></body></html>第三種就是遞歸的if..else循環(huán),通常用在多種決策判斷時(shí)。它將數(shù)個(gè)if..else拿來(lái)合并運(yùn)用處理。直接看下面的例子<?php
if
($a
>
$b)
{
echo
"a
比
b
大";
}
elseif
($a
==
$b)
{
echo
"a
等于
b";
}
else
{
echo
"a
比
b
小";
}
?>上例只用二層的if..else循環(huán),用來(lái)比較a和b兩個(gè)變量。實(shí)際要使用這種遞歸if..else循環(huán)時(shí),請(qǐng)小心使用,因?yàn)樘鄬拥难h(huán)容易使設(shè)計(jì)的邏輯出問(wèn)題,或者少打了大括號(hào)等,都會(huì)造成程序出現(xiàn)莫名其妙的問(wèn)題。如果當(dāng)前日期是周五,下面的例子會(huì)輸出"周末愉快!",如果是周日,則輸出"星期天愉快!",否則輸出"美好的一天!":<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)。用來(lái)在指定的條件內(nèi),不斷地重覆指定的步驟。語(yǔ)法如下while(expr){statement}其中的expr為判斷的條件,通常都是用邏輯運(yùn)算符號(hào)(logicaloperators)當(dāng)判斷的條件。而statement為符合條件的執(zhí)行部分程序,若程序只有一行,可以省略大括號(hào){}。下例很有趣,要電腦的瀏覽器出現(xiàn)十次"以后不敢了"的字符串,前面并加上數(shù)字,表示說(shuō)了第幾次不敢了。(感覺(jué)好像是WebServer做錯(cuò)事被處罰)<?php
$i
=
1;
while
($i
<=
10)
{
$i++;
echo
".
以后不敢了<br>\n";
}
?>while可以不用大括號(hào)來(lái)包住執(zhí)行部分,而使用冒號(hào)加上endwhile。見(jiàn)下例<?php
$i
=
1;
while
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 預(yù)制梁冬季施工方案
- 輸送機(jī)安裝施工方案
- 以前江西勞動(dòng)合同范例
- 共享工位包合同范例
- 佳音英語(yǔ)合同范本
- 企業(yè)裝卸搬運(yùn)合同范例
- 個(gè)人租房中介合同范例
- 入住民宿退房合同范例
- 2025年手持云臺(tái)項(xiàng)目發(fā)展計(jì)劃
- 2025年鄉(xiāng)村住宅互換協(xié)議
- 2025年哈爾濱幼兒師范高等??茖W(xué)校單招職業(yè)技能測(cè)試題庫(kù)完整
- 2025-2030年中國(guó)鐵精粉市場(chǎng)發(fā)展?fàn)顩r及營(yíng)銷(xiāo)戰(zhàn)略研究報(bào)告
- 做最勇敢的自己
- 《生活污水》課件
- 2025年大慶職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)(名師系列)
- GB/T 23694-2024風(fēng)險(xiǎn)管理術(shù)語(yǔ)
- 創(chuàng)辦民辦學(xué)校項(xiàng)目可行性論證報(bào)告
- 律師事務(wù)所監(jiān)管資金協(xié)議書(shū)(2篇)
- 2025年江蘇南通煒賦集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 《中國(guó)象棋基礎(chǔ)教程》課件
評(píng)論
0/150
提交評(píng)論