电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

PHP 中「自增、自減」運算問題

瀏覽:90日期:2022-09-12 14:25:16

在 PHP 的官方手冊中寫道:

PHP 支持 C 風格的前/后遞增與遞減運算符。

第一個注意事:遞增/遞減運算符不影響布爾值。遞減NULL值也沒有效果,但是遞增NULL的結果是1

換句話說:遞增/遞減運算中,不會把操作數轉換成整數后再運算。如果運算數是布爾值,則直接返回結果。

遞增/遞減布爾值:

$a = TRUE;var_dump(++$a); // bool(true)$a = TRUE;var_dump(--$a); // bool(true)$b = FALSE;var_dump(++$b); // bool(false)$b = FALSE;var_dump(--$b); // bool(false)

遞增/遞減NULL:

$a = NULL;var_dump(++$a); // int(1) $a = NULL;var_dump(--$a); // NULL

在處理字符變量的算數運算時,PHP 沿襲了 Perl 的習慣,而非 C 的

例如,在 Perl 中

$a = ’Z’;$a++;

將把$a變成’AA’,而在 C 中,

a = ’Z’;a++;

將把a變成’[’(’Z’的 ASCII 值是90,’[’的 ASCII 值是91)。

注意字符變量只能遞增,不能遞減,并且只支持純字母(a-z 和 A-Z)

例如:

$a='9D9'; var_dump(++$a); // string(3) '9E0'

但是,這里又有一個陷阱了:

$a='9E0'; echo ++$a; // 10

安裝上面的規則,應該輸出9E1,但是這里卻輸出了10。WTF?

如果我們這么寫,大部人就知道是為什么了。

$a = '9E0'; var_dump(++$a); // float(10)

$a的類型是浮點型,也就是說,9E0是浮點數的科學記數法,即9 * 10^0 = 9,對9自增,結果當然是10了。

參考:字符串轉換為數值

現在問題又來了:

$l = 'Z99';$l++;

這個結果是多少呢?結果按照 perl 語言的規則,是'AA00'。

還有一個注意事項:

遞增/遞減其他字符變量則無效,原字符串沒有變化

這個就不解釋了。

最后一個注意事項:

$a = ’012’;$a++;var_dump($a);

這個結果是’013’?13?11?

這段的結果是int(13),字符串’012’并沒有被當作八進制。

$a = 012; // 八進制,十進制為 10$b = '012'; // 轉換為整數為十進制 12

如果是0x開頭的呢?

$a = ’0x1A’;$a++;var_dump($a); // int(27)

WTF!居然不按套路出牌。0開頭的不被認為是八進制,但是0x開頭的卻被認為是十六進制。

在 PHP 官方文檔中 Integer 整型 還有另一個八進制陷阱:

var_dump(01090); // 八進制 010 = 十進制 8

手冊中對此的解釋為:

Warning如果向八進制數傳遞了一個非法數字(即 8 或 9),則后面其余數字會被忽略。

綜上,PHP 不愧是世界上「最好」的語言。

沒有之一。

標簽: PHP
相關文章:
主站蜘蛛池模板: crm客户关系管理系统,销售管理系统,crm系统,在线crm,移动crm系统 - 爱客crm | 喷砂机厂家_自动喷砂机生产_新瑞自动化喷砂除锈设备 | 曙光腾达官网-天津脚手架租赁-木板架出租-移动门式脚手架租赁「免费搭设」 | 包装机_厂家_价格-山东包装机有限公司| 精密线材测试仪-电线电缆检测仪-苏州欣硕电子科技有限公司 | 解放卡车|出口|济南重汽|报价大全|山东三维商贸有限公司 | [官网]叛逆孩子管教_戒网瘾学校_全封闭问题青少年素质教育_新起点青少年特训学校 | 天津力值检测-天津管道检测-天津天诚工程检测技术有限公司 | 精雕机-火花机-精雕机 cnc-高速精雕机-电火花机-广东鼎拓机械科技有限公司 | 气体检测仪-氢气检测仪-可燃气体传感器-恶臭电子鼻-深国安电子 | 冲击式破碎机-冲击式制砂机-移动碎石机厂家_青州市富康机械有限公司 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 搅拌磨|搅拌球磨机|循环磨|循环球磨机-无锡市少宏粉体科技有限公司 | 丹尼克尔拧紧枪_自动送钉机_智能电批_柔性振动盘_螺丝供料器品牌 | arch电源_SINPRO_开关电源_模块电源_医疗电源-东佑源 | 卫生纸复卷机|抽纸机|卫生纸加工设备|做卫生纸机器|小型卫生纸加工需要什么设备|卫生纸机器设备多少钱一台|许昌恒源纸品机械有限公司 | 电动百叶窗,开窗器,电动遮阳百叶,电动开窗机生产厂家-徐州鑫友工控科技发展有限公司 | 分子蒸馏设备(短程分子蒸馏装置)_上海达丰仪器 | 电子天平-华志电子天平厂家| 光环国际-新三板公司_股票代码:838504| 建筑工程资质合作-工程资质加盟分公司-建筑资质加盟 | 消电检公司,消电检价格,北京消电检报告-北京设施检测公司-亿杰(北京)消防工程有限公司 | 拉力测试机|材料拉伸试验机|电子拉力机价格|万能试验机厂家|苏州皖仪实验仪器有限公司 | 可程式恒温恒湿试验箱|恒温恒湿箱|恒温恒湿试验箱|恒温恒湿老化试验箱|高低温试验箱价格报价-广东德瑞检测设备有限公司 | 破碎机锤头_合金耐磨锤头_郑州宇耐机械工程技术有限公司 | 盘扣式脚手架-附着式升降脚手架-移动脚手架,专ye承包服务商 - 苏州安踏脚手架工程有限公司 | 河南正规膏药生产厂家-膏药贴牌-膏药代加工-修康药业集团官网 | 数码听觉统合训练系统-儿童感觉-早期言语评估与训练系统-北京鑫泰盛世科技发展有限公司 | 液压升降平台_剪叉式液压/导轨式升降机_传菜机定做「宁波日腾升降机厂家」 | 北京模型公司-军事模型-工业模型制作-北京百艺模型沙盘公司 | 防爆型气象站_农业气象站_校园气象站_农业四情监测系统「山东万象环境科技有限公司」 | 档案密集柜_手动密集柜_智能密集柜_内蒙古档案密集柜-盛隆柜业内蒙古密集柜直销中心 | RTO换向阀_VOC高温阀门_加热炉切断阀_双偏心软密封蝶阀_煤气蝶阀_提升阀-湖北霍科德阀门有限公司 | 山东限矩型液力偶合器_液力耦合器易熔塞厂家-淄博市汇川源机械厂 | 急救箱-应急箱-急救包厂家-北京红立方医疗设备有限公司 | 岛津二手液相色谱仪,岛津10A液相,安捷伦二手液相,安捷伦1100液相-杭州森尼欧科学仪器有限公司 | 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | 高防护蠕动泵-多通道灌装系统-高防护蠕动泵-www.bjhuiyufluid.com慧宇伟业(北京)流体设备有限公司 | SDG吸附剂,SDG酸气吸附剂,干式酸性气体吸收剂生产厂家,超过20年生产使用经验。 - 富莱尔环保设备公司(原名天津市武清县环保设备厂) | 山东成考网-山东成人高考网 | 肉嫩度仪-凝胶测试仪-国产质构仪-气味分析仪-上海保圣实业发展有限公司|总部 |