PHP編程基本語(yǔ)法快速入門手冊(cè)
php腳本的后面名為.php,代碼放置在下面的括號(hào)里面:
<?php ....... ?>
echo可以打印信息,類似于printf。
<?php echo "hallo world"; ?>
每條語(yǔ)句后面用分號(hào)結(jié)尾;。
php支持三種注釋方式:
<?php // 第一種 # 第二種 /* 這是 多行 注釋 */ ?>
在php中,函數(shù)、類、和關(guān)鍵詞的大小寫都是同一個(gè)東西:
<!DOCTYPE html> <html> <body> <?php ECHO "Hello World!<br>"; echo "Hello World!<br>"; EcHo "Hello World!<br>"; ?> </body> </html>
不過(guò)所有變量都對(duì)大小寫敏感,需要區(qū)分大小寫。
<?php $color="red"; $Color="black"; echo "my car is " . $color . "<br>"; echo "my car is " . $Color . "<br>"; ?>
上面的例子同時(shí)指出了變量定義以及字符串拼接的語(yǔ)法。
變量命名規(guī)則:
PHP 變量規(guī)則:
- 變量以 $ 符號(hào)開(kāi)頭,其后是變量的名稱
- 變量名稱必須以字母或下劃線開(kāi)頭
- 變量名稱不能以數(shù)字開(kāi)頭
- 變量名稱只能包含字母數(shù)字字符和下劃線(A-z、0-9 以及 _)
- 變量名稱對(duì)大小寫敏感($y 與 $Y 是兩個(gè)不同的變量)
- 變量會(huì)在第一次賦值時(shí)被創(chuàng)建。無(wú)需聲明變量的類型。
變量會(huì)有三種不同的作用域:
PHP 有三種不同的變量作用域:
- local(局部)
- global(全局)
- static(靜態(tài))
函數(shù)之外聲明的變量擁有 Global 作用域,只能在函數(shù)以外進(jìn)行訪問(wèn)。
函數(shù)內(nèi)部聲明的變量擁有 LOCAL 作用域,只能在函數(shù)內(nèi)部進(jìn)行訪問(wèn)。
下面的例子測(cè)試了帶有局部和全局作用域的變量:
<?php $x=5; // 全局作用域 function myTest() { $y=10; // 局部作用域 echo "<p>測(cè)試函數(shù)內(nèi)部的變量:</p>"; echo "變量 x 是:$x"; echo "<br>"; echo "變量 y 是:$y"; } myTest(); echo "<p>測(cè)試函數(shù)之外的變量:</p>"; echo "變量 x 是:$x"; echo "<br>"; echo "變量 y 是:$y"; ?>
運(yùn)行結(jié)果:
測(cè)試函數(shù)內(nèi)部的變量:
變量 x 是:
變量 y 是:10
測(cè)試函數(shù)之外的變量:
變量 x 是:5
變量 y 是:
比較奇怪的就是為什么全局變量不能在局部函數(shù)內(nèi)訪問(wèn)。
其實(shí)可以訪問(wèn),不過(guò)需要global關(guān)鍵字的幫助:
global 關(guān)鍵詞用于訪問(wèn)函數(shù)內(nèi)的全局變量。
要做到這一點(diǎn),請(qǐng)?jiān)冢ê瘮?shù)內(nèi)部)變量前面使用 global 關(guān)鍵詞:
<?php $x=5; $y=10; function myTest() { global $x,$y; $y=$x+$y; } myTest(); echo $y; // 輸出 15 ?>
PHP 同時(shí)在名為 $GLOBALS[index] 的數(shù)組中存儲(chǔ)了所有的全局變量。下標(biāo)存有變量名。這個(gè)數(shù)組在函數(shù)內(nèi)也可以訪問(wèn),并能夠用于直接更新全局變量。
<?php $x=5; $y=10; function myTest() { $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y']; } myTest(); echo $y; // 輸出 15 ?>
通常,當(dāng)函數(shù)完成執(zhí)行后,會(huì)刪除所有變量。不過(guò),有時(shí)我需要不刪除某個(gè)局部變量。實(shí)現(xiàn)這一點(diǎn)需要static:
<?php function myTest() { static $x=0; echo $x; $x++; } myTest(); myTest(); myTest(); ?>
php中echo和print都能使用,兩者的唯一區(qū)別是print返回1,echo沒(méi)有返回值。
strlen函數(shù)可以返回字符串的長(zhǎng)度。
strpos函數(shù)用來(lái)確定另外一個(gè)字符串的位置:
<?php echo strpos("Hello world!","world"); ?>
使用define函數(shù)來(lái)定義常量:
<?php define("GREETING", "Welcome to W3School.com.cn!"); echo GREETING; ?>
define函數(shù)還有第三個(gè)參數(shù),用來(lái)指定是否大小寫敏感。
php的if-else語(yǔ)句和其他語(yǔ)言大同小異,舉個(gè)例子:
<?php $t=date("H"); if ($t<"10") { echo "Have a good morning!"; } elseif ($t<"20") { echo "Have a good day!"; } else { echo "Have a good night!"; } ?>
switch-case語(yǔ)句:
<?php switch ($x) { case 1: echo "Number 1"; break; case 2: echo "Number 2"; break; case 3: echo "Number 3"; break; default: echo "No number between 1 and 3"; } ?>
while、for語(yǔ)句和其他語(yǔ)言無(wú)差別,看看foreach吧:
<?php $colors = array("red","green","blue","yellow"); foreach ($colors as $value) { echo "$value <br>"; } ?>
php的真正力量來(lái)自于它的函數(shù),它有1000個(gè)內(nèi)置函數(shù)。
用戶定義的函數(shù)聲明以關(guān)單 "function" 開(kāi)頭:
function functionName() {
被執(zhí)行的代碼;
}
舉個(gè)例子:
<?php function writeMsg() { echo "Hello world!"; } writeMsg(); // 調(diào)用函數(shù) ?> // 含參數(shù) <?php function familyName($fname,$year) { echo "$fname Zhang. Born in $year <br>"; } familyName("Li","1975"); familyName("Hong","1978"); familyName("Tao","1983"); ?> // 默認(rèn)參數(shù) <?php function setHeight($minheight=50) { echo "The height is : $minheight <br>"; } setHeight(350); setHeight(); // 將使用默認(rèn)值 50 setHeight(135); setHeight(80); ?> // 返回值 <?php function sum($x,$y) { $z=$x+$y; return $z; } echo "5 + 10 = " . sum(5,10) . "<br>"; echo "7 + 13 = " . sum(7,13) . "<br>"; echo "2 + 4 = " . sum(2,4); ?>
在 PHP 中,有三種數(shù)組類型:
- 索引數(shù)組 - 帶有數(shù)字索引的數(shù)組
- 關(guān)聯(lián)數(shù)組 - 帶有指定鍵的數(shù)組
- 多維數(shù)組 - 包含一個(gè)或多個(gè)數(shù)組的數(shù)組
索引數(shù)組:
$cars=array("Volvo","BMW","SAAB"); <?php $cars=array("Volvo","BMW","SAAB"); echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . "."; ?> // count <?php $cars=array("Volvo","BMW","SAAB"); echo count($cars); ?> // 變量索引數(shù)組 <?php $cars=array("Volvo","BMW","SAAB"); $arrlength=count($cars); for($x=0;$x<$arrlength;$x++) { echo $cars[$x]; echo "<br>"; } ?>
關(guān)聯(lián)數(shù)組:
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
或
$age['Peter']="35"; $age['Ben']="37"; $age['Joe']="43"; <?php $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); echo "Peter is " . $age['Peter'] . " years old."; ?> // 遍歷 <?php $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); foreach($age as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "<br>"; } ?>
數(shù)組排序方法有下面這些:
- sort() - 以升序?qū)?shù)組排序
- rsort() - 以降序?qū)?shù)組排序
- asort() - 根據(jù)值,以升序?qū)﹃P(guān)聯(lián)數(shù)組進(jìn)行排序
- ksort() - 根據(jù)鍵,以升序?qū)﹃P(guān)聯(lián)數(shù)組進(jìn)行排序
- arsort() - 根據(jù)值,以降序?qū)﹃P(guān)聯(lián)數(shù)組進(jìn)行排序
- krsort() - 根據(jù)鍵,以降序?qū)﹃P(guān)聯(lián)數(shù)組進(jìn)行排序
比較難理解的是鍵值對(duì)排序。
<?php $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); asort($age); ?> <?php $age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43"); ksort($age); ?>
超全局變量,也就是預(yù)定義的全局變量,在哪里都能用,有特殊含義:
- $GLOBALS:引用全局作用域中可用的全部變量
- $_SERVER:保存關(guān)于報(bào)頭、路徑和腳本位置的信息。
- $_REQUEST:用于收集 HTML 表單提交的數(shù)據(jù)。
- $_POST:用于收集提交 method="post" 的 HTML 表單后的表單數(shù)據(jù)。也常用于傳遞變量。
- $_GET:$_GET 也可用于收集提交 HTML 表單 (method="get") 之后的表單數(shù)據(jù)。
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
其他內(nèi)容可以在表單處理中找到。
相關(guān)文章
php+dojo 的數(shù)據(jù)庫(kù)保存拖動(dòng)布局的一個(gè)方法dojo 這里下載
php+dojo 的數(shù)據(jù)庫(kù)保存拖動(dòng)布局的一個(gè)方法dojo 這里下載...2007-03-03PHP學(xué)習(xí)筆記之?dāng)?shù)組篇
其實(shí)PHP中的數(shù)組和JavaScript中的數(shù)組很相似,就是一系列鍵值對(duì)的集合。2011-06-06php自定義函數(shù)實(shí)現(xiàn)統(tǒng)計(jì)中文字符串長(zhǎng)度的方法小結(jié)
這篇文章主要介紹了php自定義函數(shù)實(shí)現(xiàn)統(tǒng)計(jì)中文字符串長(zhǎng)度的方法,結(jié)合實(shí)例形式總結(jié)分析了php針對(duì)中文的判定、編碼與運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2017-04-04獲取php頁(yè)面執(zhí)行時(shí)間,數(shù)據(jù)庫(kù)讀寫次數(shù),函數(shù)調(diào)用次數(shù)等(THINKphp)
這篇文章主要是thinkphp獲取php頁(yè)面執(zhí)行時(shí)間,數(shù)據(jù)庫(kù)讀寫次數(shù),函數(shù)調(diào)用次數(shù)等,需要的朋友可以參考下2013-06-06