本文目錄一覽:
算術運算符的php運算符
表格 15-2. 算術運算符 例子 名稱 結果 -$a 取反 $a 的負值。 $a + $b 加法 $a 和 $b 的和。 $a – $b 減法 $a 和 $b 的差。 $a * $b 乘法 $a 和 $b 的積。 $a / $b 除法 $a 除以 $b 的商。 $a % $b 取余 $a 除以 $b 的餘數。 除號(「/」)總是返回浮點數,即使兩個運算數是整數(或由字元串轉換成的整數)也是這樣。
注: 取模 $a % $b 在 $a 為負值時的結果也是負值。
PHP語言PHP語言里的位運算符&、|、^ 、~、〈〈 、〉〉這些符號我一個也不懂,希望高手給個全面的解釋!拜
“” 按位與運算
按位與運算符””是雙目運算符。其功能是參與運算的兩數各對應的二進位相與。只有對應的兩個二進位均為1時,結果位才為1,否則為0。參與運算的數以補碼方式出現。
例如:95可寫算式如下:
00001001 (9的二進位補碼)
00000101 (5的二進位補碼)
00000001 (1的二進位補碼)
?php
$a = 9;
$b = 5;
echo sprintf(“%b”, $a$b);
?
“|” 按位或運算
按位或運算符「|」是雙目運算符。其功能是參與運算的兩數各對應的二進位相或。只要對應的二個二進位有一個為1時,結果位就為1。參與運算的兩個數均以補碼出現。
例如:9|5可寫算式如下:
00001001
|00000101
00001101 (十進位為13)可見9|5=13
?php
$a = 9;
$b = 5;
echo sprintf(“%b”, $a|$b).”\n”; //二進位
echo sprintf(“%d”, $a|$b).”\n”; //十進位
“^” 按位異或運算
按位異或運算符「^」是雙目運算符。其功能是參與運算的兩數各對應的二進位相異或,當兩對應的二進位相異時,結果為1。參與運算數仍以補碼出現,例如9^5可寫成算式如下:
00001001
^00000101
00001100 (十進位為12)
?php
$a = 9;
$b = 5;
echo sprintf(“%b”, $a^$b).”\n”; //二進位
echo sprintf(“%d”, $a^$b).”\n”; //十進位
“~” 求反運算
求反運算符~為單目運算符,具有右結合性。其功能是對參與運算的數的各二進位按位求反。
例如~9的運算為:
~(0000000000001001)結果為:1111111111110110
?php
$a = 9;
$b = 5;
echo sprintf(“%b”, ~$a).”\n”; //二進位
“〈〈” 左移運算
左移運算符「」是雙目運算符。其功能把「 」左邊的運算數的各二進位全部左移若干位,由「」右邊的數指定移動的位數,高位丟棄,低位補0。
例如:
a4
指把a的各二進位向左移動4位。如a=00000011(十進位3),左移4位後為00110000(十進位48)。
?php
$a = 3;
$temp = $a4;
echo sprintf(“%d”, $temp).”\n”; //十進位
「」 右移運算
右移運算符「」是雙目運算符。其功能是把「 」左邊的運算數的各二進位全部右移若干位,「」右邊的數指定移動的位數。
例如:
設 a=48,
a4
表示把00110000右移為00000011(十進位3)。
應該說明的是,對於有符號數,在右移時,符號位將隨同移動。當為正數時,最高位補0,而為負數時,符號位為1,最高位是補0或是補1 取決於編譯系統的規定
?php
$a = 48;
$temp = $a4;
echo sprintf(“%d”, $temp).”\n”; //十進位
關於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了。
原創文章,作者:TXSK,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/139944.html