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 是否成功。
print "Hello, World!";
引號內的文字被視為字串,因此可以與連線(將兩個字串連線在一起)運算子以及任何返回字串值的函式結合使用。
print "Hello, World!";
和
print "Hello" . ", " . "World!";
點符號連線兩個字串。在其他程式語言中,連線字串是透過加號完成的,而點符號通常用於從類中呼叫函式。
另外,需要注意的是,在大多數情況下,echo可以與print互換使用。print返回一個值,因此可以用來測試列印是否成功,而echo假設一切正常。在大多數情況下,如果echo失敗,我們無能為力。
echo "Hello, World!";
和
echo "Hello" . ", " . "World!";
我們將在本書的大多數部分使用echo,因為它是最常用的語句。
需要注意的是,雖然echo和print可以像函式一樣呼叫,但它們實際上是語言結構,可以不帶括號呼叫。正常的函式(幾乎所有其他函式)必須在函式識別符號後帶括號呼叫。