網頁設計 EP06-PHP 運算子(下)

更新 發佈閱讀 11 分鐘

上一篇跟大家介紹邏輯判斷與運算子後,接下來就繼續完成下篇運算子的部分。

網頁設計 EP05-迴圈與邏輯判斷運算子(上)

運算子

PHP 運算子用於執行變數與數值的運算,主要分為算術、賦值、比較、邏輯、字串及遞增/遞減等類型。

數學運算子

加 : +

減 : -

乘 : *

除 : /

取餘數 : %

次方 : **

正數 : +$variable

負數 : -$variable

<?php
$a = 10;
$b = 2;

$sum = $a + $b;        // 加法,結果為 12
$difference = $a - $b; // 減法,結果為 8
$product = $a * $b;    // 乘法,結果為 20
$quotient = $a / $b;   // 除法,結果為 5
$remainder = $a % $b;  // 取餘,結果為 0
$power = $a ** $b;     // 指數,結果為 100

echo "加法: $sum\n";
echo "減法: $difference\n";
echo "乘法: $product\n";
echo "除法: $quotient\n";
echo "取餘: $remainder\n";
echo "指數: $power\n";
echo "正數: ".+$a;
echo "負數: ".-$a;
?>

遞增、遞減運算子

先遞增 : ++$variable

先遞減 : --$variable

後遞增 : $variable++

後遞減 : $variable--

<?php
$a = 10;
$b = 5;
$c = 4;
$d = 3;

$a++;
echo $a; //輸出11

$b--;
echo $b; //輸出4

echo(++$c);//輸出5

echo(--$d);//輸出2
?>

指派運算子

賦值 : =

累加 : +=

累減 : -=

累乘 : *=

累除 : /=

累取餘數 : %=

連接 : .=

Ternary Operator(三元運算子) : ? :

類似 if...else ,當$condition為真時,執行statement1,否則執行statement2。

($condition) ? ($statement1) : ($statement2) 

Null Coalescing Operator(空合併運算子) : ??

三元運算子的進階版,傳回第一個非空值,意思是如果第一個值是空值就回傳第二個值。

($variable1)??($variable2) 
<?php
$a = 10;
$b = 5;
$c = null;
$d = false;
echo ($a+=$b);//$a =$a + $b 輸出15
echo ($a-=$b);//$a =$a - $b 輸出5
echo ($a*=$b);//$a =$a * $b 輸出50
echo ($a/=$b);//$a =$a / $b 輸出2
echo ($a%=$b);//$a =$a % $b 輸出0
echo ($a.=$b);//$a =$a . $b 輸出105
echo ($d?$a:$b);//$d為假 輸出5
echo ($a ?? $c); // 輸出10
?>

邏輯判斷運算子

數位邏輯中的及閘(and)、或閘(or)、反閘(not)和互斥或閘(xor)。

否(not) : !

為相反,1變0、0變1

與(and) : &&

都為1才為1

或(or) : ||

有1就為1

與(and) : and

都為1才為1

或(or) : or

有1就為1

互斥(xor) : xor

一樣為0,反之為1

<?php
$a = true;
$b = false;
var_dump($a&&$b); //輸出 bool(false)
var_dump($a||$b); //輸出 bool(true) 
var_dump(!$b); //輸出 bool(true) 
var_dump($a and $b); //輸出 bool(false)
var_dump($a or $b); //輸出 bool(true) 
var_dump($a xor $b); //輸出 bool(true) 
?>

運算符優先級

當同一個條件中有多個運算子時,這時運算子的優先級就很重要了,這裡僅介紹邏輯判斷的部分,詳情可參考官方文檔:

https://www.php.net/manual/zh/language.operators.precedence.php

! >> &&|| >> andor >> xor

練習題:

<?php
$a = true;
$b = false;
$c = true;

var_dump($a xor $c&&$b||$b);
?>

在這邊休息一下,試試看能不能找出答案是甚麼~

位元運算子

用來對整數中的位元進行2進位操作,在進行底層數據處理、權限設定或高效能計算時非常有用。

與(and) : &

都為1才為1

或(or) : |

有1就為1

互斥(xor) : ^

一樣為0,反之為1

否(not) : ~

跟反閘一樣變0,0變1,也就是1補數,不過目前電腦儲存整數的方式幾乎都使用2補數,所以反轉時如果是首個位元是1(也就是負)時,就會做2補數,突然複習了一下機概😂

左移 : <<

向左位移指定位數,相當於乘以2

右移 : >>

向右位移指定位數,相當於除以2

<?php
$a = 5;//0101
$b = 6;//0110
echo ($a & $b);  //輸出 0100
echo ($a | $b);  //輸出 0111
echo ($a ^ $b);  //輸出 0011
echo (~$a);      //輸出 -6
echo ($a << 1);  //輸出 1010
echo ($a >> 1 ); //輸出 0010
?>

字串運算子

連接字串和變數、常數或函數用 : .

<?php
$a = 10;
echo "正數: ".-$a;
?>

比較運算子

相等(值相等) : ==

全等(值與資料型態都相等) : ===

不相等 : !=<> 不全等 : !==

大於 : >

小於 : <

大於等於 : >=

小於等於 : <=

比較 : <=>

左邊比右邊大回傳1

左邊比右邊小回傳-1

左邊與右邊一樣大回傳0

<?php

$a = 5;
$b = "5";
$c = 6;

var_dump ($a==$b); //輸出bool(true)
var_dump($a===$b); //輸出bool(false)
var_dump ($a != $c); //輸出bool(true)
var_dump ($a <> $c); //輸出bool(true)
var_dump ($a !== $b);//輸出bool(true)
var_dump ($a > $c); //輸出bool(false)
var_dump ($a < $c); //輸出bool(true)
var_dump ($a >= $c); //輸出bool(false)
var_dump ($a <= $c); //輸出bool(true)
var_dump ($a <=> $c);//輸出int(-1)
?>

錯誤控制運算子

在php程式執行發生錯誤時,可以抑制錯誤訊息產生,避免在網頁上顯示PHP的錯誤訊息,並繼續執行程式碼。使用方式只要將 @ 符號加在常發生錯誤的指令前面。

<?php
$a = @($b*255);
echo ("測試我會不會被執行到");//輸出 測試我會不會被執行到
?>

可搭配內建函數 die() 自訂顯示錯誤訊息,當指令回傳false時便會執行 die()

<?php
$a = @($b*255) or die("program error");//因為$b沒有事先進行宣告,輸出program error
echo ("測試我會不會被執行到");
?>

不過有利必有弊,使用錯誤控制運算子可能會增加偵錯的困難,只是暫時的,php還是有提供其他錯誤處理機制,像是 try-catch,在發生錯誤時能執行相對應的處理機制。

執行運算子

執行指令運算子能讓 PHP 程式執行作業系統中的 shell 指令。使用時只要將執行指令前後用 `符號包含即可。

<?php
 $out = `dir`;//windows顯示檔案清單以列出目錄中的檔案及子目錄
 $result = `ls`;//linux顯示檔案清單以列出目錄中的檔案及子目錄
 echo $out;
 echo $result;
?>

指令詳細參數使用方法可以參考各作業系統指令介紹~


本篇文章到這裡就結束了,大家會希望繼續探索PHP更深層的內容還是想要穿插一些HTML+CSS的內容呢🫡,歡迎在下方討論討論。

如果喜歡我的文章或覺得有用的話,歡迎動動手指點擊愛心,你/妳的支持是我最大的動力,我們下篇文章見🙌。

留言
avatar-img
逃的沙龍
3會員
13內容數
分享學習路上的內容與心得
逃的沙龍的其他內容
2026/02/22
深入探討 PHP 中的各種邏輯判斷語句和迴圈結構,包括 for、foreach、while、do/while,以及 switch case 與 match 的差異,還有 if/else 的應用。本文提供清晰的宣告方式、實際應用場景和程式碼範例,幫助開發者掌握這些基礎但關鍵的程式設計概念。
Thumbnail
2026/02/22
深入探討 PHP 中的各種邏輯判斷語句和迴圈結構,包括 for、foreach、while、do/while,以及 switch case 與 match 的差異,還有 if/else 的應用。本文提供清晰的宣告方式、實際應用場景和程式碼範例,幫助開發者掌握這些基礎但關鍵的程式設計概念。
Thumbnail
2026/02/17
探討 PHP 變數範圍,包括全域變數、區域變數、靜態變數,並詳細介紹 $_GLOBALS, $_SERVER, $_REQUEST, $_POST, $_GET, $_FILES, $_ENV, $_COOKIE, $_SESSION 等超全域變數的用法與應用。
Thumbnail
2026/02/17
探討 PHP 變數範圍,包括全域變數、區域變數、靜態變數,並詳細介紹 $_GLOBALS, $_SERVER, $_REQUEST, $_POST, $_GET, $_FILES, $_ENV, $_COOKIE, $_SESSION 等超全域變數的用法與應用。
Thumbnail
2026/02/13
本篇文章將帶你快速瞭解 PHP 的基本語法,包含標籤、分號、列印 (echo)、註解、變數宣告、命名規則、常見資料型別 (字串、整數、浮點數、布林值、null) 以及型別轉換 (casting) 的應用。適合剛接觸 PHP 的初學者,為後續的程式撰寫奠定基礎。
Thumbnail
2026/02/13
本篇文章將帶你快速瞭解 PHP 的基本語法,包含標籤、分號、列印 (echo)、註解、變數宣告、命名規則、常見資料型別 (字串、整數、浮點數、布林值、null) 以及型別轉換 (casting) 的應用。適合剛接觸 PHP 的初學者,為後續的程式撰寫奠定基礎。
Thumbnail
看更多
你可能也想看
Thumbnail
想要自學 HTML 嗎?HTML 是一個相對簡單的標記語言,適合初學者。透過免費資源和互動平臺,你可以輕鬆地學習 HTML,並逐步提高技能。除了 HTML,你還可以瞭解免費網頁設計軟體,如 VS Code 和 Sublime Text。加油吧!
Thumbnail
想要自學 HTML 嗎?HTML 是一個相對簡單的標記語言,適合初學者。透過免費資源和互動平臺,你可以輕鬆地學習 HTML,並逐步提高技能。除了 HTML,你還可以瞭解免費網頁設計軟體,如 VS Code 和 Sublime Text。加油吧!
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本篇文章探討了2024年的網頁製作工具和程式語言,以及如何透過這些工具來建立各種功能豐富的網頁。文章還介紹了IDE、Python和Chrome的安裝步驟,為讀者準備軟體。下一篇的主題將是介紹VS code的介面,讓讀者學會如何去操作並寫程式。
Thumbnail
本篇文章探討了2024年的網頁製作工具和程式語言,以及如何透過這些工具來建立各種功能豐富的網頁。文章還介紹了IDE、Python和Chrome的安裝步驟,為讀者準備軟體。下一篇的主題將是介紹VS code的介面,讓讀者學會如何去操作並寫程式。
Thumbnail
Q:什麼是Frontpage網頁設計軟體? Microsoft FrontPage曾是微軟公司推出的一款網頁設計與管理工具,目前已不再生產。它一度作為入門級網頁設計者的首選,而微軟隨後推出了Expression Web和Microsoft SharePoint Designer來取代...
Thumbnail
Q:什麼是Frontpage網頁設計軟體? Microsoft FrontPage曾是微軟公司推出的一款網頁設計與管理工具,目前已不再生產。它一度作為入門級網頁設計者的首選,而微軟隨後推出了Expression Web和Microsoft SharePoint Designer來取代...
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
在CSS Battle的第153題,我們會使用grid、css選擇器、偽元素等技巧來解決西洋棋盤的排版問題。這篇文章分享了完整的解法,包括選擇器使用、偽元素的應用以及其他排版技巧,並激勵讀者分享自己的解法。
Thumbnail
在CSS Battle的第153題,我們會使用grid、css選擇器、偽元素等技巧來解決西洋棋盤的排版問題。這篇文章分享了完整的解法,包括選擇器使用、偽元素的應用以及其他排版技巧,並激勵讀者分享自己的解法。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News