PHP语言PHP语言里的位运算符&、|、^ 、~、〈〈 、〉〉这些符号我一个也不懂,希望高手给个全面的解释!拜 php运算符问题…

php\u4f4d\u8fd0\u7b97\u7b26\u6c42\u89e3\u91ca^,<<,>>,?

\u7f51\u7ad9\u4e00\u822c\u4e0d\u7528\u4f4d\u8fd0\u7b97\u3002

\u8ba1\u7b97\u4f4d\u8fd0\u7b97\u9700\u8981\u4e8c\u8fdb\u5236\u57fa\u7840\uff0c\u6240\u6709\u7684\u6570\u90fd\u662f\u5728\u4e8c\u8fdb\u5236\u5f62\u5f0f\uff0c\u7136\u540e\u5bf9\u5e94\u7684\u4f4d\u8fdb\u884c\u8fd0\u7b97\uff0c\u6700\u540e\u5f97\u5230\u7ed3\u679c\u3002

\u4f8b\u59828\u548c12\u7684\u4e8c\u8fdb\u5236\u5206\u522b\u662f1000\u30011100\uff0c\u90a3\u4e48
8\u3000& 12\u7684\u7ed3\u679c\uff0c\u662f1000\uff0c\u4e5f\u5c31\u662f8\uff0c&\u662f\u4e0e\u8fd0\u7b97\uff0c\u53c2\u52a0\u8fd0\u7b97\u7684\u4e24\u4e2a\u6570\u90fd\u662f1\u7ed3\u679c\u624d\u662f1\uff0c\u5426\u5219\u7ed3\u679c\u4e3a0
8\u3000| 12\u7684\u7ed3\u679c\uff0c\u662f1100\uff0c\u4e5f\u5c31\u662f12\uff0c!\u662f\u6216\u8fd0\u7b97\uff0c\u53c2\u52a0\u8fd0\u7b97\u7684\u4e24\u4e2a\u6570\u53ea\u8981\u6709\u4e00\u4e2a\u662f1\u7ed3\u679c\u5c31\u662f1\uff0c\u5426\u5219\u7ed3\u679c\u4e3a0

\u5176\u5b83\u7684\u975e\u3001\u5f02\u6216\uff0c\u7b49\u8fd0\u7b97\u7684\u65b9\u5f0f\u7c7b\u4f3c\uff0c\u6211\u76f8\u4fe1\u4f60\u51e0\u5206\u949f\u53cd\u601d\u5c31\u4f1a\u660e\u767d\uff0c\u5982\u679c\u4e0d\u660e\u767d\u8bf7\u8865\u5145\u3002

\u5927\u54e5\uff0c\u4f60\u4ed4\u7ec6\u770b\u770b\u4e0a\u9762\u90a3\u6bb5\u8bed\u53e5\uff0c\u54ea\u6709\u4ec0\u4e48default\u503c\u8fc7\u6765\u3002\u9875\u9762\u4f20\u5165\u7684\u53d8\u91cf\u662f$action\u561b\uff0c\u5224\u65ad$action\u662f\u5426\u4e3a\u7a7a\uff0c\u5982\u679c\u4e3a\u7a7a\u7ed9\u5b83\u8d4b\u503c'default'\uff0c\u5426\u5219\u4fdd\u7559\u4f20\u5165\u7684\u503c\u3002

"&" 按位与运算
按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1,否则为0。参与运算的数以补码方式出现。

例如:9&5可写算式如下:

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。

例如:

a<<4

指把a的各二进位向左移动4位。如a=00000011(十进制3),左移4位后为00110000(十进制48)。

<?php
$a = 3;
$temp = $a<<4;
echo sprintf("%d", $temp)."\n"; //十进制

“>>” 右移运算
右移运算符“>>”是双目运算符。其功能是把“>> ”左边的运算数的各二进位全部右移若干位,“>>”右边的数指定移动的位数。

例如:

设 a=48,

a>>4

表示把00110000右移为00000011(十进制3)。

应该说明的是,对于有符号数,在右移时,符号位将随同移动。当为正数时,最高位补0,而为负数时,符号位为1,最高位是补0或是补1 取决于编译系统的规定

<?php
$a = 48;
$temp = $a>>4;
echo sprintf("%d", $temp)."\n"; //十进制

各种语言都不全一样的,我给你看看PHP的吧 能大概了解

章 15. 运算符
目录
运算符优先级
算术运算符
赋值运算符
位运算符
比较运算符
错误控制运算符
执行运算符
递增/递减运算符
逻辑运算符
字符串运算符
数组运算符
类型运算符
运算符是可以通过给出的一或多个值(用编程行话来说,表达式)来产生另一个值(因而整个结构成为一个表达式)的东西。所以可以认为函数或任何会返回一个值(例如 print)的结构是运算符,而那些没有返回值的(例如 echo)是别的东西。

有三种类型的运算符。第一种是一元运算符,只运算一个值,例如 !(取反运算符)或 ++(加一运算符)。第二种是有限二元运算符,PHP 支持的大多数运算符都是这种。列表见下节运算符优先级。

第三种是三元运算符:?:。它应该被用来根据一个表达式在另两个表达式中选择一个,而不是用来在两个语句或者程序路线中选择。把整个三元表达式放在扩号里是个很好的主意。

运算符优先级
运算符优先级指定了两个表达式绑定得有多“紧密”。例如,表达式 1 + 5 * 3 的结果是 16 而不是 18 是因为乘号(“*”)的优先级比加号(“+”)高。必要时可以用括号来强制改变优先级。例如:(1 + 5) * 3 的值为 18。如果运算符优先级相同,则使用从左到右的左联顺序。

下表从高到低列出了运算符的优先级。同一行中的运算符具有相同优先级,此时它们的结合方向决定求值顺序。

表格 15-1. 运算符优先级

结合方向 运算符 附加信息
非结合 new new
左 [ array()
非结合 ++ -- 递增/递减运算符
非结合 ! ~ - (int) (float) (string) (array) (object) @ 类型
左 * / % 算数运算符
左 + - . 算数运算符和字符串运算符
左 << >> 位运算符
非结合 < <= > >= 比较运算符
非结合 == != === !== 比较运算符
左 & 位运算符和引用
左 ^ 位运算符
左 | 位运算符
左 && 逻辑运算符
左 || 逻辑运算符
左 ? : 三元运算符
右 = += -= *= /= .= %= &= |= ^= <<= >>= 赋值运算符
左 and 逻辑运算符
左 xor 逻辑运算符
左 or 逻辑运算符
左 , 多处用到

左联表示表达式从左向右求值,右联相反。 例子 15-1. 结合方向

<?php
$a = 3 * 3 % 5; // (3 * 3) % 5 = 4
$a = true ? 0 : true ? 1 : 2; // (true ? 0 : true) ? 1 : 2 = 2

$a = 1;
$b = 2;
$a = $b += 3; // $a = ($b += 3) -> $a = 5, $b = 5
?>

使用括号可以增强代码的可读性。

注: 尽管 ! 比 = 的优先级高,PHP 仍旧允许类似如下的表达式:if (!$a = foo()),在此例中 foo() 的输出被赋给了 $a。

活该

9999×2222+3333-3334
=(10000-1)×2222+(3333-3334)
=10000×2222-2222+(-1)
=22220000-2223
=22217777

  • 濡備綍鐢PHP缂栧啓瀹炵幇涓涓畝鍗曠殑绉讳綅绠楁硶銆傛瘮濡傝:杈撳叆ABC 杈撳嚭鐨勬槸CDE...
    绛旓細3 ">>"鍙崇Щ锛氬彸杈鐨勪綅琚尋鎺夈傚浜庡乏杈圭Щ鍑虹殑绌轰綅锛屽鏋滄槸姝f暟鍒欑┖浣嶈ˉ0锛岃嫢涓鸿礋鏁帮紝鍙兘琛0鎴栬ˉ1锛岃繖鍙栧喅浜庢墍鐢ㄧ殑璁$畻鏈虹郴缁熴4 ">>>"杩愮畻绗︼紝鍙宠竟鐨勪綅琚尋鎺夛紝瀵逛簬宸﹁竟绉诲嚭鐨勭┖浣嶄竴姒傝ˉ涓0銆浣嶈繍绠绗︾殑搴旂敤 (婧愭搷浣滄暟s 鎺╃爜mask)(1) 鎸変綅涓-- & 1 娓呴浂鐗瑰畾浣 (mask涓壒瀹氫綅缃0锛屽叾瀹...
  • PHP杩愮畻绗鐨勪綅杩愮畻绗
    绛旓細浣嶈繍绠绗﹀厑璁稿鏁村瀷鏁颁腑鎸囧畾鐨勪綅杩涜缃綅銆傚鏋滃乏鍙冲弬鏁伴兘鏄瓧绗︿覆锛屽垯浣嶈繍绠楃灏嗘搷浣滃瓧绗︾殑 ASCII 鍊笺
  • PHP 鐨 >> 鏄暐杩愮畻绗﹀彿?
    绛旓細浣嶈繍绠绗 宸︾Щ鍔ㄨ繍绠楃銆<<銆戙佸彸绉诲姩杩愮畻绗︺>>銆
  • PHP8鐨勮繍绠绗-PHP8鐭ヨ瘑璇﹁В
    绛旓細杩愮畻绗︾殑绉╁簭涓庝紭鍏堢骇杩愮畻绗︾殑浼樺厛绾х姽濡備箰璋变腑鐨勯煶绗︼紝鎸囧鐫琛ㄨ揪寮忕殑濂忓搷銆傞氳繃閫傚綋鐨勬嫭鍙凤紝浣犲彲浠ヨ皟鏁磋繍绠楃殑椤哄簭锛岃浠g爜鐨勬棆寰嬫洿涓哄拰璋愩傝祴鍊间笌浣嶈繍绠锛氭暟鎹殑娣卞眰濉戦犻櫎浜嗗熀纭鐨勭畻鏈繍绠楋紝璧嬪艰繍绠楃 濡傜畻鏈祴鍊煎拰浣嶈祴鍊硷紝濡傚悓闆曞瀹剁殑鎵嬶紝濉戦犳暟鎹殑缁嗚妭銆備綅杩愮畻绗﹀ 鎸変綅涓(&), 鎸変綅鎴(|), 鎸...
  • php涓 & || ^ 鐨勭鍙锋剰鎬濄
    绛旓細浠庘滃亣鈥濆彉鎴愨滅湡锛堥潪鍋囷級鈥濈殑缁撴灉銆傜壒鎬 PHP鐨鐗规у寘鎷細PHP 鐙壒鐨勮娉曟贩鍚堜簡 C銆丣ava銆丳erl 浠ュ強 PHP [8]鑷垱鏂扮殑璇硶銆侾HP瀹夎瀹冨彲浠ユ瘮 CGI鎴栬匬erl鏇村揩閫熺殑鎵ц鍔ㄦ佺綉椤点傜敤PHP鍋氬嚭鐨勫姩鎬侀〉闈笌鍏朵粬鐨勭紪绋璇█鐩告瘮锛孭HP鏄皢绋嬪簭宓屽叆鍒癏TML鏂囨。涓幓鎵ц锛屾墽琛屾晥鐜囨瘮瀹屽叏鐢熸垚htmL鏍囪鐨凜GI瑕侀珮璁稿...
  • php涓殑&琛ㄧず浠涔堝憿?
    绛旓細PHP涓&&涓&鐨勫尯鍒細1銆杩愮畻绗︽ц川鐨勫尯鍒 &&鍦≒HP涓槸涓涓昏緫鎿嶄綔绗︼紝涔熷彨鏉′欢鎿嶄綔绗︺&鏄昏緫璇█锛岄昏緫涓婅〃绀轰袱鑰呭睘浜庣己涓涓嶅彲鐨勫叧绯伙紝杩樺彲浠ヨ〃绀轰竴涓汉鍜屽彟澶栦竴涓汉涔嬫剰锛屼笌and鍚屼箟銆傚A&B锛岃〃绀篈涓嶣锛孉鍜孊锛孉脳B銆2銆佷綔鐢ㄤ笂鐨勫尯鍒 &&灏辨槸鍒ゆ柇涓や釜琛ㄨ揪寮忕殑鐪熷亣鎬э紝鍙湁涓や釜琛ㄨ揪寮忓悓鏃朵负鐪...
  • (1/2)PHP鐨勪綅杩愮畻鏄庝箞绠楀嚭鏉ョ殑?涔熷氨鏄閫氳繃杞崲鎴愪簩杩涘埗鍚庣粨鏋滄槸鎬庝箞...
    绛旓細浣嶄笌 濡備袱涓暟鍊兼湁鏌愬叡鍚屾瘮鐗逛綅涓1锛屽垯杩斿洖鍊肩殑瀵瑰簲浣嶄篃涓1锛屽惁鍒欎负0銆
  • PHP浣嶈繍绠鏈夊摢浜涘疄闄呭満鏅笅鐨勭敤閫
    绛旓細杩欎釜灏辫娑夊強璁$畻鏈虹粍鎴愬師鐞嗭紝涔熷氨鏄暟瀛楀湪璁$畻鏈轰腑鍏蜂綋濡備綍琛ㄧず浜嗭紝姣斿9脳4=36锛9鍦ㄨ绠楁満涓敤2杩涘埗琛ㄧず锛1001锛屽氨鏄繖涓1001杩炵画鍔犱笂4娆★紝浣嗘槸濡傛灉绉讳綅鐨勮瘽灏变粎浠呯Щ涓や釜浣嶏紝1001鍚戝乏绉讳綅鍙樻垚100100灏辨槸36鐨勪簩杩涘埗鐮佷簡锛屾瘮涔樻硶瑕佺畝鍗曞緱澶氥
  • php涓&涓&鏈変粈涔堝尯鍒
    绛旓細!$a Not锛堥昏緫闈烇級 TRUE锛屽鏋 $a 涓嶄负 TRUE銆俛 && $b And锛堥昏緫涓庯級 TRUE锛屽鏋 $a 涓 $b 閮戒负 TRUE銆俛 || $b Or锛堥昏緫鎴栵級 TRUE锛屽鏋 $a 鎴 $b 浠讳竴涓 TRUE銆--- &鏄浣嶈繍绠绗︼紝$c = $a & $b, 灏嗘妸 $a 鍜 $b 鐨勪簩杩涘埗浣嶄腑閮戒负 1 鐨勪綅璁句负 1銆傚5&3 =>101...
  • php 杩欎釜杩愮畻鏄粈涔堟剰鎬 $a=( $c&$d)==$d;
    绛旓細鎸変紭鍏堢骇椤哄簭鏄 1. ($c&$d) 鍗 $c鍜$d杩涜浣嶄笌锛屽皢鎶 $a 鍜 $b 涓兘涓 1 鐨勪綅璁句负 1銆2. ($c&$d) 鍜 $d 鍒ゆ柇鏄惁鐩哥瓑 3. 鎶婄浜屾鐨勭粨鏋滐紙BOOLEAN绫诲瀷锛夎祴鍊肩粰$a 杩欐槸PHP鐨勫熀鏈娉曪紝浣犲簲璇ョ郴缁熺殑瀛︿範涓涓
  • 扩展阅读:php java ... php面试必背300题 ... php自学教程入门 ... php面试题及答案2023 ... php为什么快被淘汰了 ... python编程入门自学 ... python基础代码大全 ... php中文网教程 ... ps基础知识笔记整理 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网