PHP 程式設計 / 從“Hello World!” 開始
返回 基礎知識。
<?php
echo "Hello World!";
echo "We are learning PHP!";
Hello World! We are learning PHP!
這是 PHP 的最基本形式。三行簡單的程式碼,第一行標識 <?php 標籤之後的程式碼都是 PHP 程式碼(直到檔案結束,或者直到 ?> 標籤)。第二行和第三行在網頁上寫一個文字問候語。下一個示例稍微複雜一些,使用了變數。
<?php
// Declare the variable 'string' and assign it a value.
// The <br> is the HTML equivalent to a new line.
$string = 'Hello World!<br>';
// You can echo the variable, similar to the way you would echo a string.
echo $string;
// You could also use print.
print $string;
// Or, if you are familiar with C, printf can be used too.
printf('%s', $string);
Hello World!<br>Hello World!<br>Hello World!<br>
Hello World! Hello World! Hello World!
前面的示例包含兩個輸出。PHP 可以輸出瀏覽器將格式化和顯示的 HTML。PHP 輸出框是確切的 PHP 輸出。HTML 渲染框是您的瀏覽器大約如何顯示該輸出。不要讓這使您感到困惑,這只是讓您知道 PHP 可以輸出 HTML。我們將在後面更深入地介紹它。
變數是任何程式語言的基礎:它們是“容器”(記憶體中的空間),用於儲存資料。資料可以更改,因此它是“可變的”。
如果您對其他程式語言有所瞭解,您就會知道,在某些語言中,您必須定義變數將儲存的資料型別。這些語言被稱為靜態型別,因為必須在您將資料儲存在變數中之前知道變數的型別。像 C++ 和 Java 這樣的程式語言是靜態型別的。另一方面,PHP 是動態型別,因為變數的型別與其值相關聯。您可以為字串定義一個變數,儲存一個字串,然後用數字替換該字串。要在 C++ 中執行相同的操作,您必須強制轉換或更改變數的型別,並將其儲存在不同的“容器”中。
PHP 中的所有變數都遵循美元符號 ($) 後跟識別符號(例如 $variable_name)的格式。這些識別符號區分大小寫,這意味著大小寫很重要,因此 $wiki 與 $Wiki 不同。
要將變數與現實世界的物件進行比較,請將計算機的記憶體想象成一個儲藏室。變數將是儲藏室中的一個箱子,而箱子裡的內容(例如一個杯子)將是該變數中的資料。
如果箱子被貼上標籤 廚房用品,而箱子的內容是一個杯子,則 PHP 程式碼將是
$kitchen_stuff = 'cup';
如果我接著走進儲藏室,開啟貼著標籤 廚房用品 的箱子,然後用叉子替換杯子,則新的程式碼將是
$kitchen_stuff = 'fork';
請注意程式碼塊中間新增的 = 和結尾的 ;。= 是賦值運算子,或者用我們的類比來說,是附帶箱子的說明,上面寫著“將杯子放入箱子”。; 表示停止評估程式碼塊,或者用我們的類比來說,完成正在做的事情並繼續執行其他操作。
還要注意杯子是用單引號而不是雙引號括起來的。使用雙引號將告訴 PHP 解析器,箱子中可能不僅僅是一個杯子,並且需要查詢其他說明。
$bathroom_stuff = 'toothbrush';
$kitchen_stuff = "cup $bathroom_stuff";
//$kitchen_stuff contents is now '''cup toothbrush'''
單引號告訴 PHP 解析器,它只是一個杯子,不需要查詢其他任何東西。在這個例子中,原本應該將內容新增到廚房箱子的浴室箱子反而添加了它的名字。
$bathroom_stuff = 'toothbrush';
$kitchen_stuff = 'cup $bathroom_stuff';
//$kitchen_stuff contents is now '''cup $bathroom_stuff'''
因此,再次嘗試將類比視覺化並關聯起來,以便使用下面的比較來理解變數的概念。請注意,這是一種現實世界物件的比較,而不是 PHP 程式碼。
Computer memory (RAM) = storage shed Variable = a box to hold stuff Variable name = a label on the box such as kitchen stuff Variable data = the contents of the box such as a cup
請注意,您不會將變數命名為 box,因為變數和箱子之間的關係由 $ 表示,以及資料如何在記憶體中儲存。例如,常量和陣列在使用箱子類比時可以被視為一種變數,因為它們都是用來儲存某種內容的容器,但是,它們的差異在於它們是如何被定義來處理箱子中的內容的。
變數:一個可以在儲藏室開啟的箱子,可以交換箱子裡的內容。
常量:一個不能開啟來交換其內容的箱子。它的內容只能在儲藏室裡檢視,不能交換。
陣列:一個包含一個或多個附加箱子的主箱子。為了使初學者更加複雜,每個附加箱子也可能包含一個箱子。在廚房用品箱中,我們有兩個箱子,乾淨的杯子箱
$kitchen_stuff["clean_cup"] = 'the clean cup';
和髒的杯子箱
$kitchen_stuff["dirty_cup"] = 'the dirty cup';
有關變數的更多資訊,來自 PHP 手冊
Print 是輸出的關鍵。它將引號(或括號)中包含的內容傳送到輸出裝置(瀏覽器視窗)。類似的功能是 echo,但 print 允許使用者檢查列印是否成功。
print "Hello, World!";
引號中的文字被視為字串,因此可以與連線運算子(將兩個字串連線在一起)以及任何返回字串值的函式一起使用。
print "Hello, World!";
和
print "Hello" . ", " . "World!";
點符號連線兩個字串。在其他程式語言中,字串連線使用加號,點符號通常用於呼叫類中的函式。
另外,值得注意的是,在大多數情況下,echo 可以與 print 互換使用。print 返回一個值,因此可以用來測試列印是否成功,而 echo 假設一切正常。在大多數情況下,如果 echo 失敗,我們無能為力。
echo "Hello, World!";
和
echo "Hello" . ", " . "World!";
在本手冊的大多數部分,我們將使用 echo,因為它是最常用的語句。
需要注意的是,雖然 echo 和 print 可以像函式一樣呼叫,但它們實際上是語言結構,可以不帶括號呼叫。普通函式(幾乎所有其他函式)必須在函式識別符號之後使用括號呼叫。