關於php運算符正確的是,php中運算符%的作用是

本文目錄一覽:

關於PHP運算符+和.的問題

其他語言中有的+就是連接的意思,但是在php中+就是加法運算的意思。連接兩個字元的符號是「. 」。舉個例子

假如$str=20;

$arr[$i]=50;

$str.=$arr[$i];翻譯一下就應該是$str=20;連接上$arr[$i]=50;並且把新的字元串的值賦給變數$str。如果這個不明白的話,就換個說法,就是$str.=$arr[$i];翻譯出來就是$str=$str連接$arr[$i];等號後面的內容「$str連接$arr[$i]」的值付給了$str;也就是$str=20連接50;也就是$str=2050;

如果是$str+=$arr[$i]的話,和上面的一樣,只是把連接換成了加法。

不知道你id前面的?是寫錯了還是什麼意思。那個++++的應該沒什麼意思,就是一串字元串,不用當成自增也就是「++」處理。因為那一串++和i都是在『』當中的。如果是$str++的話,就應該是20+1了。

關於PHP的運算符!!

“+”,”-“除了可作為算術運算符外還可作”正”,”負”;

它們做正負解釋時優先順序高於算術運算符.

所以不能那樣寫.

第十二講 PHP 邏輯運算符

邏輯運算符用來組合邏輯運算的結果,是程序設計中一組非常重要的運算符。

PHP中的邏輯運算符如下表所示:

左右兩個條件同時為 TRUE 時,則結果為 TRUE;兩個條件中有任意一個條件為 FALSE 時,則結果為 FALSE。當左邊的條件為 FALSE 時,將直接跳過右邊的條件直接返回 FALSE。

運行結果:

如果兩個條件有一個為 TRUE,則結果為 TRUE;如果兩個條件都是為 FALSE,則結果為 FALSE。當左邊條件為 TRUE,將跳過右邊條件的判斷,直接返回 TRUE。

調整上面的示例:

運行結果:

將一個布爾值進行取反操作。例如:!true = false、!false = true、!10 = false。

調整上面的示例:

關於php 位運算符的問題

這個涉及到系統底層,WEB開發中幾乎沒用到,知道下有這個東西就好了。底層的東西解釋總是簡單不了的。

變數在內存中的存放都是二進位數字。整數在32位系統上是佔用4位元組,一個位元組是8位,也就是32位,位運算就是位級的運算操作了。

$a $b Shift left(左移) 將 $a 中的位向左移動 $b 次(每一次移動都表示「乘以 2」)。

假定變數 $a 的值是 3,$b 的值是 2。

那麼 $a 在內存中的存放的格式是:

00000000 00000000 00000000 00000011

每執行一次左移,都將所有的位向左移動,右邊補零,左邊超過的捨棄。

所以 $a 左移 2 得到的是:

00000000 00000000 00000000 00011000

也就是 12。相當於 3 × 2 × 2 = 12。

$a $b Shift right(右移) 將 $a 中的位向右移動 $b 次(每一次移動都表示「除以 2」)。

假定變數 $a 的值是 24,$b 的值是 2。

那麼 $a 在內存中的存放的格式是:

00000000 00000000 00000000 00011000

每執行一次右移,都將所有的位向由移動,右邊超過的捨棄,左邊空出的位補零。

所以 $a 右移 2 得到的是:

00000000 00000000 00000000 00000110

也就是 6。相當於 24 ÷ 2 ÷ 2 = 6。

位移運算是系統底層運算,運算的速度比乘除還要快很多,優化代碼優化到極致的時候,可以將數換算成二的公倍數,然後進行位移計算。但在WEB開發中幾乎沒有任何必要,而且超過系統底層了,程序在的可移植性就會降低。

其他的位運算符也是差不多的。比如:

$a $b And(按位與) 將把 $a 和 $b 中都為 1 的位設為 1。

假定變數 $a 的值是 5,$b 的值是 6。

$a:

00000000 00000000 00000000 00000101

$b:

00000000 00000000 00000000 00000110

$a $b :

00000000 00000000 00000000 00000101

00000000 00000000 00000000 00000110

───────────────────────────

00000000 00000000 00000000 00000100

豎的看,上下都是 1 的得到 1 ,否則就是 0。

所以 $a $b = 4。

~ $a Not(按位非) 將 $a 中為 0 的位設為 1,反之亦然。

~ $a:

00000000 00000000 00000000 00000101

───────────────────────────

11111111 11111111 11111111 11111010

如果 $a 是有符號整數,第一位是符號位,1表示負數,那麼 ~ $a = -2147483642。

如果 $a 是無符號整數,第一位還是數據位,那麼 ~ $a = 4294967290。

以下的就不詳細介紹了:

$a | $b Or(按位或) 將把 $a 或者 $b 中為 1 的位設為 1。

$a ^ $b Xor(按位異或) 將把 $a 和 $b 中不同的位設為 1。

平常說的幾位的系統,就是系統處理整數的時候,是多少個位同時計算的,上面的例子都是基於32位系統。因為移動時超過的位將被捨棄,如果是64位或12位的,位移的結果就可能不一樣了,要將計算時位的數量調整下。

原創文章,作者:LGHC,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/137783.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
LGHC的頭像LGHC
上一篇 2024-10-04 00:18
下一篇 2024-10-04 00:18

相關推薦

  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • Python中init方法的作用及使用方法

    Python中的init方法是一個類的構造函數,在創建對象時被調用。在本篇文章中,我們將從多個方面詳細討論init方法的作用,使用方法以及注意點。 一、定義init方法 在Pyth…

    編程 2025-04-29
  • 條件運算符(?:)是什麼意思?

    條件運算符(?:)是JavaScript中的一種特殊的運算符,也是許多編程語言中相似語法的一部分。它可以允許我們在一個簡單、一行的語句中完成條件判斷和賦值操作,非常方便。 1.語法…

    編程 2025-04-29
  • 如何在代碼中打出正確的橫杆

    在編程中,橫杆是一個很常見的符號,但是有些人可能會在打橫杆時出錯。本文將從多個方面詳細介紹如何在代碼中打出正確的橫杆。 一、正常使用橫杆 在代碼中,直接使用「-」即可打出橫杆。例如…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Git config命令用法介紹:用正確的郵箱保障開發工作

    本文將詳細介紹如何使用git config命令配置Git的全局和本地用戶信息,特別是如何正確使用用戶郵箱,保障Git操作的正常進行。 一、git config命令介紹 Git中的每…

    編程 2025-04-29
  • @scope("prototype")的作用及應用

    本文將從以下幾個方面進行詳細闡述@scope(“prototype”)在編程開發中的作用和應用。 一、代碼復用 在開發中,往往會有很多地方需要復用同一個類的…

    編程 2025-04-28
  • Python中賦值運算符和相等運算符解析

    Python是一種高級編程語言,它通常被用於開發 Web 應用程序、人工智慧、數據分析和科學計算。在Python中,賦值運算符和相等運算符是非常常見和基本的運算符,它們也是進行編程…

    編程 2025-04-28
  • Python中import sys的作用

    Python是一種非常強大的編程語言,它的標準庫提供了許多有用的模塊和函數。sys模塊是Python標準庫中的一個重要模塊,用於與Python解釋器和操作系統進行交互。它允許開發者…

    編程 2025-04-28
  • 請確保正確設置spring.boot.admin.client.instance

    spring.boot.admin.client.instance是一個非常關鍵的設置,它能夠幫助我們確保應用程序在正確的Spring Boot Admin Server上註冊。在…

    編程 2025-04-28

發表回復

登錄後才能評論