首頁 後端開發 php教程 PHP基礎 之 運算符

PHP基礎 之 運算符

Feb 06, 2017 am 09:54 AM

1 定義
運算子是可以透過給定的一或多個值(用程式行話來說,表達式)來產生另一個值(因而整個結構成為一個表達式)的東西。

運算子可依其能接受幾個值來分組:
① 一元運算子只能接受一個值,例如 !(邏輯取反運算子)或 ++(遞增運算子)。 
② 二元運算子可接受兩個值,例如熟悉的算術運算子 +(加)和 -(減),大多數 PHP 運算子都是這種。
③ 三元運算子 ? :,可接受三個值;通常就簡單稱之為「三元運算子」(儘管稱之為條件運算子可能更合適)。 

2 運算子的優先權
  ① 運算子優先權指定了兩個運算式綁定得有多「緊密」。例如,表達式 1 + 5 * 3 的結果是 16 而不是 18 是因為乘號(“*”)的優先權比加號(“+”)高。
  ② 必要時可用括號來強制改變優先權。例如:(1 + 5) * 3 的值為 18。
  ③ 如果運算子優先順序相同,那麼運算子的結合方向決定了該如何運算。例如,"-"是左聯的,那麼1 - 2 - 3 就等同於(1 - 2) - 3 且結果是-4. 
  ④ "="是右聯的,所以$a = $b = $ c 等同於$a = ($b = $c)。
  ⑤ 沒有結合的相同優先權的運算子不能連在一起使用,例如 1 1 在PHP是不合法的。但另一方面表達式 1   ⑥ 括號的使用,即使在不是必要的場合下,透過括號的配對來明確標明運算順序,而非靠運算子優先順序和結合性來決定,通常能夠增加程式碼的可讀性。 

3 算術運算子
  ① 取反 如:-$a 代表 $a 的負值。
  ② 加法如:$a + $b
  ③ 減法如:$a - $b
  ④ 乘法如:$a * $b
  ⑤ 除法如:$a / $b
. b
  ⑦ 取冪如:$a ** $b

  注意:

a. 除法運算子總是回傳浮點數。只有在下列情況例外:兩個操作數都是整數(或字串轉換成的整數)並且剛好能整除,這時它會傳回一個整數。

b. 取模運算子的運算元在運算之前都會轉換成整數(除去小數部分)。

c. 取模運算子 % 的結果和被除數的符號(正負號)相同。即 $a % $b 的結果和 $a 的符號相同

4 賦值運算子
  ① 基本的賦值運算子是「=」。一開始可能會以為它是“等於”,其實不是的。它實際上意味著把右邊表達式的值賦給左邊的運算數。
  賦值運算表達式的值也就是所賦的值。也就是說,「$a = 3」的值是 3。這樣就可以做一些小技巧: 

 <?php
    $a = ($b = 4) + 5; // $a 现在成了 9,而 $b 成了 4。
    ?>
登入後複製

  ② 二元算術:數組集合和字串運算子的“組合運算子”,這樣可以在一個表達式中使用它的值並把表達式的結果賦給它

<?php
$a = 3;
$a += 5; // sets $a to 8, as if we had said: $a = $a + 5;
$b = "Hello ";
$b .= "There!"; // sets $b to "Hello There!", just like $b = $b . "There!";
?>
登入後複製

 ③ 引用賦值:PHP 支援引用賦值,使用「$var = &$othervar;」語法。引用賦值意味著兩個變數指向了同一個數據,沒有拷貝任何東西。 

<?php
$a = 3;
$b = &$a; // $b 是 $a 的引用

print "$a\n";
 // 输出 3
print "$b\n"; // 输出 3

$a = 4; // 修改 $a

print "$a\n"; // 输出 4
print "$b\n"; // 也输出 4,因为 $b 是 $a 的引用,因此也被改变
?>
登入後複製

④ 常識
    賦值運算將原變數的值拷貝到新變數中(傳值賦值),所以改變其中一個並不影響另一個。這也適合在密集循環中拷貝一些值例如大數組。 

5 位运算符
① And(按位与) $a & $b
② Or(按位或) $a | $b
③ Xor(按位异或) $a ^ $b
④ Not(按位取反) ~ $a
⑤ Shift left(左移) $a << $b
⑥ $a >> $b

6 比较运算符
① 等于 $a == $b
② 全等 $a === $b
③ 不等 $a != $b
④ 不等 $a <> $b
⑤ 不全等 $a !== $b
⑥ 小于 $a < $b
⑦ 大于 $a > $b
⑧ 小于等于 $a <= $b
⑨ 大于等于 $a >= $b
⑩ 结合比较运算符 $a <=> $b

7 错误控制运算符
PHP 支持一个错误控制运算符:@。当将其放置在一个 PHP 表达式之前,该表达式可能产生的任何错误信息都被忽略掉。
如果用 set_error_handler() 设定了自定义的错误处理函数,仍然会被调用,但是此错误处理函数可以(并且也应该)调用 error_reporting(),而该函数在出错语句前有 @ 时将返回 0。
如果激活了 track_errors 特性,表达式所产生的任何错误信息都被存放在变量 $php_errormsg 中。此变量在每次出错时都会被覆盖,所以如果想用它的话就要尽早检查。

8 执行运算符
PHP 支持一个执行运算符:反引号(``)。注意这不是单引号!PHP 将尝试将反引号中的内容作为 shell 命令来执行,并将其输出信息返回(即,可以赋给一个变量而不是简单地丢弃到标准输出)。使用反引号运算符“`”的效果与函数 shell_exec() 相同。

<?php
$output = `ls -al`;
echo "<pre class="brush:php;toolbar:false">$output
"; ?>
登入後複製

注:反引号运算符在激活了安全模式或者关闭了 shell_exec() 时是无效的。

9 递增/递减运算符: PHP 支持 C 风格的前/后递增与递减运算符。
① 前加 ++$a
② 后加 $a++
③ 前减 --$a
④ 后减 $a--

10 逻辑运算符
① And(逻辑与) $a and $b
② Or(逻辑或) $a or $b
③ Xor(逻辑异或) $a xor $b
④ Not(逻辑非) ! $a
⑤ And(逻辑与) $a && $b
⑥ Or(逻辑或) $a || $b

11 字符串运算符
有两个字符串(string)运算符。第一个是连接运算符(“.”),它返回其左右参数连接后的字符串。第二个是连接赋值运算符(“.=”),它将右边参数附加到左边的参数之后。更多信息见赋值运算符。

<?php
$a = "Hello ";
$b = $a . "World!"; // now $b contains "Hello World!"
$a = "Hello ";
$a .= "World!";     // now $a contains "Hello World!"
?>
登入後複製

12 数组运算符
① 联合 $a 和 $b 的联合。 $a + $b
② 相等 如果 $a 和 $b 具有相同的键/值对则为 TRUE。 $a == $b
③ 全等 如果 $a 和 $b 具有相同的键/值对并且顺序和类型都相同则为 TRUE。 $a === $b
④ 不等 如果 $a 不等于 $b 则为 TRUE。 $a != $b
⑤ 不等 如果 $a 不等于 $b 则为 TRUE。 $a <> $b
⑥ 不全等 如果 $a 不全等于 $b 则为 TRUE。 $a !== $b

注:+ 运算符把右边的数组元素附加到左边的数组后面,两个数组中都有的键名,则只用左边数组中的,右边的被忽略。

13 类型运算符
instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例:

<?php
class MyClass
{
}

class NotMyClass
{
}
$a = new MyClass;

var_dump($a instanceof MyClass);
var_dump($a instanceof NotMyClass);
?>
登入後複製

以上就是PHP基础 之 运算符的内容,更多相关内容请关注PHP中文网(www.php.cn)!


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

前端開發者需了解的PHP相關知識 前端開發者需了解的PHP相關知識 Mar 29, 2024 pm 03:09 PM

身為前端開發者,對於PHP的了解是非常必要的。雖然PHP是一種後端開發語言,但掌握一定的PHP知識可以幫助前端開發者更好地理解整個web開發的過程,提高工作效率並與後端開發者更好地協作。在這篇文章中,我們將討論前端開發者需要了解的一些PHP相關知識,並提供具體的程式碼範例。 PHP是什麼? PHP(HypertextPreprocessor)是一種伺服器

PHP中的新手入門指南 PHP中的新手入門指南 May 25, 2023 am 08:03 AM

PHP是一門熱門的前端程式語言,它功能強大、易學易用,並且被廣泛用於網站的開發和維護。對於初學者來說,PHP入門需要一定的學習與掌握,以下就提供一些PHP的新手入門指南給大家。一、學習基本概念在學習PHP之前,你需要先了解一些基本概念。 PHP是一種向Web伺服器發出指令的腳本語言。簡單來說,你可以使用PHP來產生HTML程式碼並將其傳送給瀏覽器,最終呈現在網頁上

PHP筆試基礎弱?試試這些學習方法吧! PHP筆試基礎弱?試試這些學習方法吧! Mar 01, 2024 pm 01:39 PM

PHP作為一種廣泛應用於網頁開發的腳本語言,已成為許多網路公司招募技術人才時必備的技能之一。然而,對於一些剛入門或基礎較弱的學習者來說,學習PHP可能會遇到一些困難。在面對PHP筆試時,怎樣才能更好地提升自己的基礎功力呢?接下來,我們將介紹一些學習方法,希望能夠幫助大家提升PHP的基礎與技能。 1.養成閱讀PHP官方文件的習慣PHP官方文件是學習

初學者必備:PHP基礎錯誤及解決方法 初學者必備:PHP基礎錯誤及解決方法 May 11, 2023 am 08:28 AM

在學習PHP的過程中,初學者會經常遇到各種各樣的錯誤。雖然這是學習的自然過程,但不少初學者往往因為對錯誤的處理不當而失去耐心。本文將介紹PHP基礎錯誤及解決方法,旨在幫助初學者更輕鬆地入門PHP。一、語法錯誤1.1遺漏分號在PHP中,語句必須以分號結尾。如果不小心遺漏了分號,就會報錯。例如,下面的程式碼會導致錯誤:&lt;?phpecho"He

PHP值概覽:了解PHP的重要概念 PHP值概覽:了解PHP的重要概念 Mar 22, 2024 pm 03:09 PM

PHP值概覽:了解PHP的重要概念,需要具體程式碼範例PHP(HypertextPreprocessor)是一種廣泛應用於Web開發的腳本語言,它可以嵌入HTML中,也可以作為獨立的腳本來執行。在Web開發中,了解PHP的一些重要概念對於編寫高效、可維護的程式碼非常重要。在本文中,我們將介紹PHP的一些重要概念,並提供具體的程式碼範例來幫助讀者更好地理解。變數變

PHP基礎教學之數組函數 PHP基礎教學之數組函數 Jun 20, 2023 pm 01:39 PM

陣列函數是PHP中最常用的函數之一,它可以用於陣列的建立、操作和管理。在開發應用程式時,使用數組函數可以大大提高開發的效率。本文將介紹PHP中數組函數的一些基本用法和例子,幫助大家更能理解並掌握數組函數。一、陣列的建立和初始化PHP中的陣列可以透過以下方式建立://透過array()函數建立陣列$arr=array("a",&q

閱讀PHP文檔的10個技巧 閱讀PHP文檔的10個技巧 May 24, 2023 pm 09:21 PM

PHP是一種非常受歡迎的開源伺服器端腳本語言,廣泛應用於Web開發。要成為一名優秀的PHP程式設計師,閱讀官方文件是必不可少的。無論你是初學者還是資深開發者,以下這些技巧都將有助於你更有效地閱讀PHP文件。了解文檔結構PHP官方文件分為多個部分,包括手冊、參考手冊、FAQ、擴充庫文檔等。在開始閱讀之前,先了解文件的結構,找到自己需要的部分。使用搜尋功能PHP文檔

織夢建站必備:掌握PHP的幾個關鍵知識點 織夢建站必備:掌握PHP的幾個關鍵知識點 Mar 27, 2024 pm 03:09 PM

在當今資訊爆炸的網路時代,網站已成為各行各業展示和推廣的重要途徑,而PHP作為最受歡迎的伺服器端腳本語言,無疑是許多網站開發者必備的技能之一。要達到熟練PHP,首先需要掌握幾個關鍵的知識點,並透過具體的程式碼範例來加深理解。 1.PHP基礎語法PHP的基礎語法與大多數程式語言相似,包括變數、資料型別、運算子、條件語句、循環語句等。以下是一個簡單的範例

See all articles