PHP編程基本文法快速入門手冊,基本文法快速入門_PHP教程

來源:互聯網
上載者:User

PHP編程基本文法快速入門手冊,基本文法快速入門


php指令碼的後面名為.php,代碼放置在下面的括弧裡面:

<?php.......?>

echo可以列印資訊,類似於printf。

<?phpecho "hallo world";?>

每條語句後面用分號結尾;。

php支援三種注釋方式:

<?php// 第一種# 第二種/*這是多行注釋*/?>

在php中,函數、類、和關鍵詞的大小寫都是同一個東西:

<?phpECHO "Hello World!
";echo "Hello World!
";EcHo "Hello World!
";?>

不過所有變數都對大小寫敏感,需要區分大小寫。

<?php$color="red";$Color="black";echo "my car is " . $color . "
";echo "my car is " . $Color . "
";?>

上面的例子同時指出了變數定義以及字串拼接的文法。

變數命名規則:

PHP 變數規則:

  • 變數以 $ 符號開頭,其後是變數的名稱
  • 變數名稱必須以字母或底線開頭
  • 變數名稱不能以數字開頭
  • 變數名稱只能包含字母數字字元和底線(A-z、0-9 以及 _)
  • 變數名稱對大小寫敏感($y 與 $Y 是兩個不同的變數)
  • 變數會在第一次賦值時被建立。無需聲明變數的類型。

變數會有三種不同的範圍:

PHP 有三種不同的變數範圍:

  1. local(局部)
  2. global(全域)
  3. static(靜態)

函數之外聲明的變數擁有 Global 範圍,只能在函數以外進行訪問。
函數內部聲明的變數擁有 LOCAL 範圍,只能在函數內部進行訪問。
下面的例子測試了帶有局部和全域範圍的變數:

<?php$x=5; // 全域範圍function myTest() { $y=10; // 局部範圍 echo "

測試函數內部的變數:

"; echo "變數 x 是:$x"; echo "
"; echo "變數 y 是:$y";} myTest();echo "

測試函數之外的變數:

";echo "變數 x 是:$x";echo "
";echo "變數 y 是:$y";?>

運行結果:

測試函數內部的變數:

變數 x 是:
變數 y 是:10
測試函數之外的變數:

變數 x 是:5
變數 y 是:
比較奇怪的就是為什麼全域變數不能在局部函數內訪問。

其實可以訪問,不過需要global關鍵字的協助:

global 關鍵詞用於訪問函數內的全域變數。
要做到這一點,請在(函數內部)變數前面使用 global 關鍵詞:

<?php$x=5;$y=10;function myTest() { global $x,$y; $y=$x+$y;}myTest();echo $y; // 輸出 15?>

PHP 同時在名為 $GLOBALS[index] 的數組中儲存了所有的全域變數。下標存有變數名。這個數組在函數內也可以訪問,並能夠用於直接更新全域變數。

<?php$x=5;$y=10;function myTest() { $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];} myTest();echo $y; // 輸出 15?>

通常,當函數完成執行後,會刪除所有變數。不過,有時我需要不刪除某個局部變數。實現這一點需要static:

<?phpfunction myTest() { static $x=0; echo $x; $x++;}myTest();myTest();myTest();?>

php中echo和print都能使用,兩者的唯一區別是print返回1,echo沒有傳回值。

strlen函數可以返回字串的長度。

strpos函數用來確定另外一個字串的位置:

<?phpecho strpos("Hello world!","world");?>

使用define函數來定義常量:

<?phpdefine("GREETING", "Welcome to W3School.com.cn!");echo GREETING;?>

define函數還有第三個參數,用來指定是否大小寫敏感。

php的if-else語句和其他語言大同小異,舉個例子:

<?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語句:

<?phpswitch ($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語句和其他語言無差別,看看foreach吧:

<?php $colors = array("red","green","blue","yellow"); foreach ($colors as $value) { echo "$value 
";}?>

php的真正力量來自於它的函數,它有1000個內建函數。

使用者定義的函式宣告以關單 "function" 開頭:

function functionName() {
被執行的代碼;
}
舉個例子:

<?phpfunction writeMsg() { echo "Hello world!";}writeMsg(); // 調用函數?>// 含參數<?phpfunction familyName($fname,$year) { echo "$fname Zhang. Born in $year 
";}familyName("Li","1975");familyName("Hong","1978");familyName("Tao","1983");?>// 預設參數<?phpfunction setHeight($minheight=50) { echo "The height is : $minheight
";}setHeight(350);setHeight(); // 將使用預設值 50setHeight(135);setHeight(80);?>// 傳回值<?phpfunction sum($x,$y) { $z=$x+$y; return $z;}echo "5 + 10 = " . sum(5,10) . "
";echo "7 + 13 = " . sum(7,13) . "
";echo "2 + 4 = " . sum(2,4);?>

在 PHP 中,有三種數群組類型:

  1. 索引數組 - 帶有數字索引的數組
  2. 關聯陣列 - 帶有指定鍵的數組
  3. 多維陣列 - 包含一個或多個數組的數組

索引數組:

$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);?>// 變數索引數組<?php$cars=array("Volvo","BMW","SAAB");$arrlength=count($cars);for($x=0;$x<$arrlength;$x++) { echo $cars[$x]; echo "
";}?>

關聯陣列:

$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 "
";}?>

數組排序方法有下面這些:

  • sort() - 以升序對數組排序
  • rsort() - 以降序對數組排序
  • asort() - 根據值,以升序對關聯陣列進行排序
  • ksort() - 根據鍵,以升序對關聯陣列進行排序
  • arsort() - 根據值,以降序對關聯陣列進行排序
  • krsort() - 根據鍵,以降序對關聯陣列進行排序

比較難理解的是索引值對排序。

<?php$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");asort($age);?><?php$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");ksort($age);?>

超全域變數,也就是預定義的全域變數,在哪裡都能用,有特殊含義:

  • $GLOBALS:引用全域範圍中可用的全部變數
  • $_SERVER:儲存關於前序、路徑和指令碼位置的資訊。
  • $_REQUEST:用於收集 HTML 表單提交的資料。
  • $_POST:用於收集提交 method="post" 的 HTML 表單後的表單資料。也常用於傳遞變數。
  • $_GET:$_GET 也可用於收集提交 HTML 表單 (method="get") 之後的表單資料。
  • $_FILES
  • $_ENV
  • $_COOKIE
  • $_SESSION

其他內容可以在表單處理中找到。

您可能感興趣的文章:

  • PHP 基本文法格式
  • PHP教程 基本文法
  • PHP insert文法詳解
  • PHP文法速查表
  • PHP文法自動檢查的Vim外掛程式
  • phpRegex的基本文法總結
  • 前端必學之PHP文法基礎
  • PHP文法小結之基礎和變數
  • PHP基本文法總結

http://www.bkjia.com/PHPjc/1089576.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1089576.htmlTechArticlePHP編程基本文法快速入門手冊,基本文法快速入門 php指令碼的後面名為.php,代碼放置在下面的括弧裡面: php....... echo可以列印資訊,類似於...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.