首頁  >  問答  >  主體

PHP 語法:解碼符號背後的意義


這是什麼?

這是關於 PHP 語法時不時出現的問題的集合。這也是一個社區 Wiki,因此邀請每個人參與維護此清單。

這是為什麼?

過去很難找到有關運算子和其他語法標記的問題。 ¹

主要思想是提供 Stack Overflow 上現有問題的鏈接,這樣我們就可以更輕鬆地引用它們,而不是複製 PHP 手冊中的內容。

注意:自 2013 年 1 月起,Stack Overflow 開始支援特殊字元。只要用引號將搜尋字詞括起來,例如[php]「==」與「===」

#

我應該在這裡做什麼?

如果您因為問了這樣的問題而被某人指向這裡,請尋找下面的特定語法。 PHP 手冊的連結頁面以及連結的問題可能會回答您的問題。如果是這樣,我們鼓勵您對答案進行投票。此清單不能取代其他人提供的幫助。

列表

如果您的特定令牌未在下面列出,您可能會在解析器令牌清單中找到它。


& 位元運算子或參考


=&參考文獻


&= 位元運算子


&& 邏輯運算子


% 算術運算子


!! 邏輯運算子


@ 錯誤控制運算子


?: 三元運算子


雙問號

?? 空合併運算子(自 PHP 7 起)


問號後面跟著類型宣告

?string ?int ?array ?bool ?float 可空型別宣告(自 PHP 7.1 起)


?-> 問號後面跟著物件運算子是 NullSafe 運算子(自 PHP 8.0 起)


: 控制結構、三元運算子、傳回型別宣告的替代語法


:: 範圍解析運算子


命名空間


-> 類別和物件


=> 陣列


^ 位元運算子


>> 位元運算子


<< 位元運算子


<<< Heredoc 或 Nowdoc


= 賦值運算子


== 比較運算子


=== 比較運算子


!== 比較運算子


!= 比較運算子


<>比較運算子

PHP 中的型別雜耍和(嚴格)大於/小於比較

<=>太空船(三向比較)運算子

|使用單一管道「|」有什麼作用在函數參數中做嗎?

||PHP 中 or 運算子的行為

~這裡的 ~ 運算子是什麼意思?

使用「 」(陣列並集運算子)合併兩個數組,它是如何運作的?

=

-=我的 PHP 文件中的「$page -= 1」是什麼意思?

--回答如下

.=PHP 中的 .=(點等於)運算子是什麼?

.什麼是 .(點)用 PHP 做什麼?

,連接 echo 和 return 時句號和逗號之間的差異?

,變數宣告中的逗號是什麼意思?

$$$function() 和 $$variable

`反引號``叫什麼?

<?=### 短開放標籤###

[] 陣列(自 PHP 5.4 起的片語法)


<? 開始與結束標籤


.. 雙點字元範圍


... 參數解包(自 PHP 5.6 起)


** 求冪(自 PHP 5.6 起)


# 一行 shell 式註解


#[] 屬性(自 PHP 8 起)



P粉893457026P粉893457026395 天前733

全部回覆(2)我來回復

  • P粉298305266

    P粉2983052662023-10-11 11:48:43

    位元運算子

    什麼是一點?位代表 1 或 0。基本上是 OFF(0) 和 ON(1)

    什麼是位元組?一個位元組由 8 位元組成,一個位元組的最高值為 255,這意味著每個位元都被設定。我們將看看為什麼一個位元組的最大值是 255。

    -------------------------------------------
    |      1 Byte ( 8 bits )                  |
    -------------------------------------------
    |Place Value | 128| 64| 32| 16| 8| 4| 2| 1|     
    -------------------------------------------

    這表示1個位元組

    1 2 4 8 16 32 64 128 = 255(1 位元組)

    一些有助於更好理解的範例

    “AND”運算子:&

    $a =  9;
    $b = 10;
    echo $a & $b;

    這將輸出數字 8。為什麼?好吧,讓我們看看使用我們的表格範例。

    -------------------------------------------
    |      1 Byte ( 8 bits )                  |
    -------------------------------------------
    |Place Value | 128| 64| 32| 16| 8| 4| 2| 1|     
    -------------------------------------------
    |      $a    |   0|  0|  0|  0| 1| 0| 0| 1|    
    -------------------------------------------
    |      $b    |   0|  0|  0|  0| 1| 0| 1| 0|
    ------------------------------------------- 
    |      &     |   0|  0|  0|  0| 1| 0| 0| 0|
    -------------------------------------------

    所以你可以從表中看到它們唯一共享的位元是 8 位元。

    第二個範例

    #
    $a =  36;
    $b = 103;
    echo $a & $b; // This would output the number 36.
    $a = 00100100
    $b = 01100111

    兩個共享位元是 32 和 4,相加後回傳 36。

    「或」運算子:|

    $a =  9;
    $b = 10;
    echo $a | $b;

    這將輸出數字 11。為什麼?

    -------------------------------------------
    |      1 Byte ( 8 bits )                  |
    -------------------------------------------
    |Place Value | 128| 64| 32| 16| 8| 4| 2| 1|     
    -------------------------------------------
    |      $a    |   0|  0|  0|  0| 1| 0| 0| 1|    
    -------------------------------------------
    |      $b    |   0|  0|  0|  0| 1| 0| 1| 0|
    ------------------------------------------- 
    |      |     |   0|  0|  0|  0| 1| 0| 1| 1|
    -------------------------------------------

    您會注意到我們在第 8、2 和 1 列中設定了 3 個位元。將這些相加:8 2 1=11。

    回覆
    0
  • P粉345302753

    P粉3453027532023-10-11 00:19:04

    遞增/遞減運算子< /p>

    增量運算子

    --自減運算子

    Example    Name              Effect
    ---------------------------------------------------------------------
    ++$a       Pre-increment     Increments $a by one, then returns $a.
    $a++       Post-increment    Returns $a, then increments $a by one.
    --$a       Pre-decrement     Decrements $a by one, then returns $a.
    $a--       Post-decrement    Returns $a, then decrements $a by one.
    

    它們可以位於變數之前或之後。

    如果放在變數之前,則對變數進行增減操作,然後傳回結果。如果放在變數後面,首先傳回該變量,然後進行遞增/遞減操作。

    例如:

    $apples = 10;
    for ($i = 0; $i < 10; ++$i) {
        echo 'I have ' . $apples-- . " apples. I just ate one.\n";
    }

    實例

    在上面的例子中使用了 $i,因為它更快。 $i 會有相同的結果。

    預遞增要快一點,因為它確實遞增變量,然後「返回」結果。後增量建立一個特殊變量,將第一個變數的值複製到其中,並且僅在使用第一個變數後,將其值替換為第二個變數的值。

    但是,您必須使用 $apples--,因為首先您要顯示當前的蘋果數量,然後您要從中減去一個。

    您也可以在 PHP 中遞增字母:

    $i = "a";
    while ($i < "c") {
        echo $i++;
    }

    一旦到達 z,接下來就是 aa,依此類推。


    堆疊溢位貼文:

    #

    回覆
    0
  • 取消回覆