《簡明 PHP 教程》04 基礎

只是打印出 hello world 確定是不夠的,是嗎?你會但願作得比這還要多——你想要輸入一些內容,操縱它,而後從中獲得一些輸出出來的內容。咱們能夠在 PHP 中經過使用變量與常量來實現這一目標,在本章中咱們還會學習其它的一些概念。php

PHP 標記

當解析一個文件時,PHP 會尋找起始和結束標記,也就是 <?php?>,這告訴 PHP 開始和中止解析兩者之間的代碼。此種解析方式使得 PHP 能夠被嵌入到各類不一樣的文檔中去,而任何起始和結束標記以外的部分都會被 PHP 解析器忽略。程序員

若是文件內容是純 PHP 代碼,最好在文件末尾刪除 PHP 結束標記。這能夠避免在 PHP 結束標記以後萬一意外加入了空格或者換行符,會致使 PHP 開始輸出這些空白,而腳本中此時並沒有輸出的意圖。shell

註釋

PHP 支持 C,C++ 和 Unix Shell 風格(Perl 風格)的註釋。例如:編程

<?php
    echo "This is a test"; // 這是 C++ 風格的單行註釋
    /* 這是一個
       多行註釋 */
    echo "This is yet another test";
    echo 'One Final Test'; # 這是 shell 風格的單行註釋

註釋主要用做寫給程序讀者看的筆記。數組

C 風格的註釋在碰到第一個 */ 時結束。要確保不要嵌套 C 風格的註釋。試圖註釋掉一大塊代碼時很容易出現該錯誤。編程語言

<?php
 /*
    echo "This is a test"; /* 這個註釋將要引發問題 */
 */

你應該在你的程序中儘量多地使用有用的註釋:編輯器

  • 解釋假設
  • 說明重要的決定
  • 解釋重要的細節
  • 說明你想要解決的問題
  • 說明你想要在程序中克服的問題,等等。

代碼會告訴你怎麼作,註釋會告訴你爲什麼如此。學習

這樣作對你的程序的讀者來講很是有用,他們能夠很容易地理解你的程序是作什麼的。請記住,這我的能夠是六個月後的你!優化

常量

常量是一個簡單值的標識符(名字)。如同其名稱所暗示的,在腳本執行期間該值不能改變。常量默認爲大小寫敏感。傳統上常量標識符老是大寫的。this

常量名和其它任何 PHP 標籤遵循一樣的命名規則。合法的常量名以字母或下劃線開始,後面跟着任何字母,數字或下劃線。

<?php

// 合法的常量名
define("FOO",     "something");
define("FOO2",    "something else");
define("FOO_BAR", "something more");

// 非法的常量名
define("2FOO",    "something");

// 下面的定義是合法的,但應該避免這樣作:(自定義常量不要以__開頭)
// 也許未來有一天PHP會定義一個__FOO__的魔術常量
// 這樣就會與你的代碼相沖突
define("__FOO__", "something");

常量的範圍是全局的。不用管做用區域就能夠在腳本的任何地方訪問常量。

變量

PHP 中的變量用一個美圓符號後面跟變量名來表示。變量名是區分大小寫的。

變量名與 PHP 中其它的標籤同樣遵循相同的規則。一個有效的變量名由字母或者下劃線開頭,後面跟上任意數量的字母,數字,或者下劃線。

<?php
$var = 'Bob';
$Var = 'Joe';
echo "$var, $Var";      // 輸出 "Bob, Joe"

$4site = 'not yet';     // 非法變量名;以數字開頭
$_4site = 'not yet';    // 合法變量名;如下劃線開頭
$i站點is = 'mansikka';  // 合法變量名;能夠用中文

變量默認老是傳值賦值。那也就是說,當將一個表達式的值賦予一個變量時,整個原始表達式的值被賦值到目標變量。

PHP 也提供了另一種方式給變量賦值:引用賦值。這意味着新的變量簡單的引用(換言之,「成爲其別名」 或者 「指向」)了原始變量。改動新的變量將影響到原始變量,反之亦然。

使用引用賦值,簡單地將一個 & 符號加到將要賦值的變量前(源變量)。例如,下列代碼片段將輸出「My name is Bob」兩次:

<?php
$foo = 'Bob';              // 將 'Bob' 賦給 $foo
$bar = &$foo;              // 經過 $bar 引用 $foo
$bar = "My name is $bar";  // 修改 $bar 變量
echo $bar;
echo $foo;                 // $foo 的值也被修改

有一點重要事項必須指出,那就是隻有有名字的變量才能夠引用賦值。

類型

PHP 支持 9 種原始數據類型。

四種標量類型:

  • boolean(布爾型)
  • integer(整型)
  • float(浮點型,也稱做 double)
  • string(字符串)

三種複合類型:

  • array(數組)
  • object(對象)
  • callable(可調用)

兩種特殊類型:

  • resource(資源)
  • NULL(無類型)

Boolean 布爾類型

這是最簡單的類型。boolean 表達了真值,能夠爲 TRUE 或 FALSE。

要指定一個布爾值,使用常量 TRUE 或 FALSE。兩個都不區分大小寫。

<?php
$foo = True; // 設置 $foo 爲 TRUE

Integer 整型

integer 是集合 ℤ = {..., -2, -1, 0, 1, 2, ...} 中的某個數。

整型值可使用十進制,十六進制,八進制或二進制表示,前面能夠加上可選的符號(- 或者 +)。

<?php
$a = 1234; // 十進制數
$a = -123; // 負數
$a = 0123; // 八進制數 (等於十進制 83)
$a = 0x1A; // 十六進制數 (等於十進制 26)
$a = 0b11111111; // 二進制數字 (等於十進制 255)

Float 浮點型

浮點型(也叫浮點數 float,雙精度數 double 或實數 real)能夠用如下任一語法定義:

<?php
$a = 1.234; 
$b = 1.2e3; 
$c = 7E-10;

String 字符串

一個字符串 string 就是由一系列的字符組成,其中每一個字符等同於一個字節。

單引號

定義一個字符串的最簡單的方法是用單引號把它包圍起來(字符 ')。

<?php
echo 'this is a simple string';

雙引號

若是字符串是包圍在雙引號(")中, PHP 將對一些特殊的字符進行解析,如 \n 換行,\t 水平製表符等。另外最重要的特徵是變量會被解析。

Heredoc 結構

第三種表達字符串的方法是用 heredoc 句法結構:<<<

<?php
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;

Array 數組

PHP 中的數組其實是一個有序映射。映射是一種把 values 關聯到 keys 的類型。此類型在不少方面作了優化,所以能夠把它當成真正的數組,或列表(向量),散列表(是映射的一種實現),字典,集合,棧,隊列以及更多可能性。

<?php
$array = array(
    "foo" => "bar",
    "bar" => "foo",
);

// 自 PHP 5.4 起
$array = [
    "foo" => "bar",
    "bar" => "foo",
];

key 能夠是 integer 或者 string。value 能夠是任意類型。能夠不指定鍵名,或者對某些單元指定鍵名。

數組單元能夠經過 array[key] 語法來訪問。

<?php
$array = array(
    "foo" => "bar",
    42    => 24,
    "multi" => array(
         "dimensional" => array(
             "array" => "foo"
         )
    )
);

var_dump($array["foo"]);
var_dump($array[42]);
var_dump($array["multi"]["dimensional"]["array"]);

Object 對象

要建立一個新的對象 object,使用 new 語句實例化一個類:

<?php
class foo
{
    function do_foo()
    {
        echo "Doing foo."; 
    }
}

$bar = new foo;
$bar->do_foo();

接下來咱們將看見如何使用變量與常量。你須要保存如下案例並嘗試運行程序。

如何編寫 PHP 程序

從今之後,保存和運行 PHP 程序的標準步驟以下:

對於 PhpStorm 用戶

  1. 打開 PhpStorm。
  2. 以給定的文件名建立新文件。
  3. 輸入案例中給出的代碼。
  4. 右鍵並運行當前文件。

對於其餘編輯器用戶

  1. 打開你選擇的編輯器。
  2. 輸入案例中給出的代碼。
  3. 以給定的文件名將其保存成文件。
  4. 在解釋器中經過命令 php program.php 來運行程序。

案例:使用變量與常量

輸入並運行如下程序:

<?php
# 文件名:var.py
$i = 5;
echo $i . "\n";
$i = $i + 1;
print $i . "\n";

$s = <<<EOT
This is a multi-line string.
This is the second line.
EOT;
print $s;

輸出:

5
6
This is a multi-line string.
This is the second line.

它是如何工做的

下面是這一程序的工做原理。首先,咱們使用賦值運算符(=)將常量數值 5 賦值給變量 $i。這一行被稱之爲聲明語句(Statement)由於其工做正是聲明一些在這一狀況下應當完成的事情:咱們將變量名 $i 與值 5 相鏈接。而後,咱們經過 echo 語句來打印變量 $i 所聲明的內容,這並不奇怪,只是將變量的值打印到屏幕上。這裏咱們同時打印了 \n 是爲了換行。

接着,咱們將 1 加到 $i 變量所存儲的值中,並將得出的結果從新存儲進這一變量。而後咱們將這一變量打印出來,並指望獲得的值應爲 6

相似地,咱們將文本賦值給變量 $s,並將其打印出來。

針對靜態編程語言程序員的提示

變量只需被賦予某一值。不須要聲明或定義數據類型。

邏輯行與物理行

所謂物理行(Physical Line)是你在編寫程序時你所看到的內容。所謂邏輯行(Logical Line)是 PHP 所看到 的單個語句。PHP 以 ; 做爲不一樣邏輯行的結束與分隔。

PHP 鼓勵每一行使用一句獨立語句從而使得代碼更加可讀。

若是你有一行很是長的代碼,你能夠經過使用反斜槓將其拆分紅多個物理行。

$s = 'This is a string. \
This continues the string.';
echo $s;

輸出:

This is a string. This continues the string.

縮進

空白區在各行的開頭,這被稱做縮進(Indentation)。在邏輯行的開頭留下空白區(使用空格或製表符)用以肯定各邏輯行的縮進級別,然後者又可用於肯定語句的分組。

這意味着放置在一塊兒的語句擁有相同的縮進。每一組這樣的語句被稱爲塊(block)

如何縮進

使用四個空格來縮進。好的編輯器會自動爲你完成這一工做。請確保你在縮進中使用數量一致的空格。

總結

如今咱們已經瞭解了諸多本質性的細節,咱們能夠前去了解控制流語句等更多更加有趣的東西。記得必定要充分理解你在本章所閱讀的內容。

連接:https://blog.zhanxiaobai.com/...

相關文章
相關標籤/搜索