vocus logo

方格子 vocus

網頁設計 EP03-PHP基本語法與變數

更新 發佈閱讀 8 分鐘

回顧上一篇和上上篇了解到如何架設環境與編譯器的設定後,接下來就可以專專心心的寫程式摟,開始寫程式之前先來快速了解php的基本語法吧!


網頁設計 EP02-PHP編譯器設定

網頁設計 EP01-環境架設(XAMPP)

PHP基本語法

 PHP 是 HTML 的嵌入程式,以<?php標籤作為開始,?>標籤結束。 

每一行需要以分號作為結尾,但是如果只有單行,結尾沒有分號也可以被解析成功。

<?php

?>

列印

echo跟python的print、c++的cout一樣用來列印。

<?php
echo "hello world";
?>

註解

單行註解

//

多行註解

/* */

<?php
echo "hello world";
//this is single line comment
/*this
is
multi
line
comment
*/
?>

變數

變數是一個暫時儲存資料的地方,宣告方式以 $ 為開頭,且不需要事先宣告資料型別。 

= 在這邊是賦值的意思,將右邊的值指定給左邊的變數。

ex:咖啡廳的每一種飲品,咖啡杯是變數名稱,裡面杯子裡裝的摩卡咖啡就是值。 

raw-image


常見命名規則

snake_case(常用)

單字之間以 _ 分隔,均小寫。 

<?php
$beverage_name = "bubble tea";
?>

camelCase

單字與單字之間不使用分隔符號,第一個單字小寫,後續每個單字首個字母大寫。 

<?php
$beverageName = "bubble tea";
?>

常見資料型別

字串(String) : "hello" or 'hello'

也可以叫做字元序列,用單引號或雙引號包裹著。

<?php
$student_name = 'Joe';
?>

單引號 vs 雙引號

單引號比較老實給他什麼就是甚麼,自然而然效率就很快,優點在於效率快,而雙引號最大的功用就在於字串中包含變數和跳脫序列(Escape Sequences)時,能夠被解析。 

echo 'Line 1 \n Line 2'; // 輸出:Line 1 \n Line 2

echo "Line 1 \n Line 2"; // 輸出:Line 1 (換行) Line 2

整數(Integer) : 1

<?php
$student_age = 30;
?>

浮點數(Float) : 1.5

數學中的小數。 

<?php
$student_gpa = 3.5;
?>

布林值(Boolean) : True or False

用於邏輯判斷,在流程控制常常使用。 

<?php
$is_pass = true;
?>

空(null) : null

用於表示變數沒有值。

<?php
$student_name = null;
?>

陣列 : array('1', '2', '3')

索引陣列

使用array()宣告,可接受任意數量,每個值之間須以逗號做分隔,其中最後一個值後的逗號可省略,索引從0開始,依索引值取值。

<?php​
$all_class = array('101' ,'201', '301');//第一種寫法

$all_class = ['101', '201', '301'];//第二種寫法
echo $all_class[0]; //輸出101
?>

關聯陣列

每個元素由鍵(key)跟值(value)組成,可接受任意數量,每個值之間須以逗號做分隔,依鍵值取值,若鍵值重複出現以最後一個為主。

<?php
$all_class = array('1st'=>'101', '2st'=>'201', '3st'=>'301');//第一種寫法

$all_class = ['1st'=>'101', '2st'=>'201', '3st'=>'301'];//第二種寫法
echo $all_class['1st']; //輸出101
?>

物件(Object)

以class來定義一個類別,類別名稱後加上大括號,用new來實例化類別,包含屬性(attributes)、方法(method)和建構子(constructor),以後有機會可以詳談📝。

<?php
class Classroom {
public $id; // 屬性:教室編號

// 建構子
public function __construct($name) {
$this->id = $name;
}

// 方法:教室的自我介紹行為
public function announce() {
echo "歡迎來到 " . $this->id . " 教室!<br>";
}
}
// 實例化物件
$class_a = new Classroom('101');
// 呼叫方法
$class_a->announce(); // 輸出:歡迎來到 101 教室!
echo gettype($class_a); // 輸出:object
?>

資源(resource)

Resource 是一種特殊的變數,它保存了對「外部資源」的引用(Handle),常用於檔案開啟與資料庫連線。

<?php
$file = fopen("D:/xampp/htdocs/aiprompt.docx", "r");
echo gettype($file); // 輸出:resource
fclose($file);//關閉資源
?>

gettype()

有的時候向資料庫問資料回來,只知道傳回來的值並不知道他的資料型別是甚麼時,就可以使用php提供的gettype()函式

<?php
$student_name = 'Joe';
echo gettype($student_name); //輸出結果:string
?>

型別轉換(casting)

字串轉整數:

若為數值轉成整數,非數值無法處理轉成0,跟其他語言(像是python)不太一樣的是,

如果把非數值字串轉成整數會爆錯,而php不會。

浮點數轉整數:

小數點以後無條件捨去,保留小數點前的數字,因為(int)無法分辨小數點是甚麼。

布林轉整數:

true(1)

false(0)

<?php
 $student_age = '12';
$is_current_student = 'true';
$student_name = 'lala';
 echo gettype((int)$student_age);//輸出結果:integer
echo gettype((string)$student_age);//輸出結果:string
echo gettype((float)$student_age);//輸出結果float
echo gettype((bool)$is_current_student);//輸出結果boolean
echo gettype((int)$student_name);//輸出結果int,結果為0
?>


本篇文章到這裡就結束了,相信大家經過練習後,對PHP的寫法已經有了初步的認識,如果喜歡我的文章或覺得有用的話,歡迎動動手指點擊愛心,你/妳的支持是我最大的動力,我們下篇文章見🙌。

留言
avatar-img
逃的沙龍
0會員
5內容數
分享學習路上的內容與心得
你可能也想看
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
“點擊網站後,那個白色畫面彷彿持續了一個世紀之久……”這可能是許多網站訪客的共同噩夢。在當今數位化時代,網站速度直接影響用戶體驗、轉化率和搜索引擎排名。根據實測數據,頁面加載時間從5秒優化到1.8秒後,轉化率可提升23%。對於香港這個生活節奏極快的城市,用戶對速度的耐心更是近乎零。 01 速度危機
Thumbnail
“點擊網站後,那個白色畫面彷彿持續了一個世紀之久……”這可能是許多網站訪客的共同噩夢。在當今數位化時代,網站速度直接影響用戶體驗、轉化率和搜索引擎排名。根據實測數據,頁面加載時間從5秒優化到1.8秒後,轉化率可提升23%。對於香港這個生活節奏極快的城市,用戶對速度的耐心更是近乎零。 01 速度危機
Thumbnail
※ 什麼是靜態檔案: 指的是不需要再經過伺服器額外處理的檔案。常見的有,在網頁中載入的 CSS、JavaScript 或圖片檔,這些檔案通常不需要再經過伺服器額外處理,伺服器只需要提供一個連結,讓瀏覽器直接抓取這些檔案即可。 ※ 建立一個名為 public 的資料夾: 把所有網頁上需要使用到的
Thumbnail
※ 什麼是靜態檔案: 指的是不需要再經過伺服器額外處理的檔案。常見的有,在網頁中載入的 CSS、JavaScript 或圖片檔,這些檔案通常不需要再經過伺服器額外處理,伺服器只需要提供一個連結,讓瀏覽器直接抓取這些檔案即可。 ※ 建立一個名為 public 的資料夾: 把所有網頁上需要使用到的
Thumbnail
在現代網站架構中,Nginx 幾乎是後端工程師必備的工具。它不僅是一個高效能的網頁伺服器,更常被用作 反向代理伺服器,協助網站應付龐大的流量、保護內部架構,甚至提升安全性與效能。但在深入 Nginx 之前,我們先來理解一個核心觀念:為什麼叫「反向代理」,而不是「正向代理」?
Thumbnail
在現代網站架構中,Nginx 幾乎是後端工程師必備的工具。它不僅是一個高效能的網頁伺服器,更常被用作 反向代理伺服器,協助網站應付龐大的流量、保護內部架構,甚至提升安全性與效能。但在深入 Nginx 之前,我們先來理解一個核心觀念:為什麼叫「反向代理」,而不是「正向代理」?
Thumbnail
這篇文章介紹 Node.js 內建的 HTTP 模組,說明如何使用 createServer、request、response 和 listen 方法建立 Web Server,並提供測試和除錯技巧。
Thumbnail
這篇文章介紹 Node.js 內建的 HTTP 模組,說明如何使用 createServer、request、response 和 listen 方法建立 Web Server,並提供測試和除錯技巧。
Thumbnail
※ 網站整體架構: 前後端架構 網址、網頁、伺服器 IP、網卡、MAC address ※ 前後端架構: ※ 前後端如何構通: ※ 區分前後端: ※ 網頁架構介紹: URL網址:統一資源定位符。 說明: URL可以說是家的地址。 一個網頁會有很多URL。 分析URL的每個位置
Thumbnail
※ 網站整體架構: 前後端架構 網址、網頁、伺服器 IP、網卡、MAC address ※ 前後端架構: ※ 前後端如何構通: ※ 區分前後端: ※ 網頁架構介紹: URL網址:統一資源定位符。 說明: URL可以說是家的地址。 一個網頁會有很多URL。 分析URL的每個位置
Thumbnail
當我剛開始接觸這個領域的時候,經常會看到有人在討論: 到底要做前端還是後端工程師呢?後端工程師賺的比前端工程師多?前端工程師轉後端工程師?那前端與後端到底是什麼呢? 這篇文章提供了前端與後端的基本概念並舉例來說明。同時也介紹了前端的三大要素以及後端的運作原理,對於想深入瞭解前後端的讀者會非常有幫助。
Thumbnail
當我剛開始接觸這個領域的時候,經常會看到有人在討論: 到底要做前端還是後端工程師呢?後端工程師賺的比前端工程師多?前端工程師轉後端工程師?那前端與後端到底是什麼呢? 這篇文章提供了前端與後端的基本概念並舉例來說明。同時也介紹了前端的三大要素以及後端的運作原理,對於想深入瞭解前後端的讀者會非常有幫助。
Thumbnail
當你做好你的網站後,教大家把你的網站部署到雲端伺服器Vercel
Thumbnail
當你做好你的網站後,教大家把你的網站部署到雲端伺服器Vercel
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News