PHP7中對十六進制字符串處理的問題詳解
本篇文章由PHP7教程欄目給大家介紹一下關於 php7 中 "0xFFFFFFFF" 和 0xFFFFFFFF 的問題。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有所幫助。
具體問題:
$t1 = 0x3FFFFFFF & (1 * (0xd5b42e11));$t2 = 0x3FFFFFFF & (1 * ("0xd5b42e11"));var_dump($t1,$t2);
以上代碼在 php7(不含)以下平臺的值爲:
int(364129809)int(364129809)
而在 php7的值爲:
int(364129809)int(0)
請問,在 php7的環境下,應該如何處理 0x.$str 使它同上面值一樣呢?
解決辦法:
PHP7開始,含十六進制字符串不再被認爲是數字
如果非要檢測字符串是否含十六進制數字,官方建議的代碼是
<?php$str = "0xffff";$int = filter_var($str, FILTER_VALIDATE_INT, FILTER_FLAG_ALLOW_HEX);if (false === $int) { throw new Exception("Invalid integer!");}var_dump($int); // int(65535)?>
針對上述問題就應該改成
$t1 = 0x3FFFFFFF & (1 * (0xd5b42e11));$t2 = 0x3FFFFFFF & (1 * (filter_var("0xd5b42e11", FILTER_VALIDATE_INT, FILTER_FLAG_ALLOW_HEX)));var_dump($t1,$t2);
到此這篇關於PHP7中對十六進制字符串處理的問題詳解的文章就介紹到這了,希望大家以後多多支持好二三四!
<link rel="stylesheet" href="https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c9715bcbac9/4c8b2fbfaddf.css" type="text/css" /><link rel="stylesheet" href="https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c9715bcbac9/4c8b38b8bad702ecfe21037ca964.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b24b9b8d20bc1fc2f166cb7.js"></script> <script>SyntaxHighlighter.autoloader( 'applescript https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90fe9eb370e6c96732d53f9d4.js', 'actionscript3 as3 https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90fe9c874.js', 'bash shell https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90feafa340a.js', 'coldfusion cf https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90febf42b064fb0633655e7.js', 'cpp c https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90febeb37.js', 'obj-c objc https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90fe7f92d21.js', 'c# c-sharp csharp https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90febc82f037bb5.js', 'css https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90febe834.js', 'delphi pascal https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90fecfe2b1261ac.js', 'diff patch pas https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90fecf22104.js', 'erl erlang https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90fede92b0367a2.js', 'groovy https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90fefe9280d7fbc.js', 'haxe hx https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90fe0fa3f07.js', 'java https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90fe2fa3103.js', 'jfx javafx https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90fe2fa31034f9d.js', 'js jscript javascript https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90fe2c8241060b564.js', 'perl pl https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90ff8fe350e.js', 'php https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90ff8f337.js', 'text plain https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90ff8f7260b67.js', 'py python https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90ff8e2330a66ab.js', 'ruby rails ror rb https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90ffaee251b.js', 'scala https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90ffbf8260e68.js', 'sql https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90ffbea2b.js', 'vb vbnet https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90ffef9.js', 'ps powershell https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90ff8f430077b96783a56e5.js', 'xml xhtml xslt html https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90ff0f62b.js', 'go golang https://js.how234.com/559000b9bd/4c9a02a4bec20fc1fc2f0e60a2782b5ffb/4c801eb9afce149aab7550/4c8b2ea2aac90feff4.js' );</script> <script type="text/javascript"> SyntaxHighlighter.all(); </script>-
用損人造句子
造句指懂得並使用字詞,按照一定的句法規則造出字詞通順、意思完整、符合邏輯的句子。依據現代語文學科特徵,可延伸爲寫段、作文的基礎,是學生寫好作文的基本功。造句來源清俞樾《春在堂隨筆》卷八:“其用意,其造句,均以纖巧勝。”夏丏尊葉聖陶《文心雕龍》四:“造句也...
-
人頭攢動的意思
1、人頭攢動,漢語成語,拼音是réntóucuándòng,意思是指人很多,且頻繁的在移動。2、近義詞:熙熙攘攘,人流如潮。3、反義詞:人煙稀少,人跡罕至。4、例句:測試發射的指揮大廳裏燈火輝煌,人頭攢動。...
-
癡迷是什麼意思,癡迷指的是什麼
1、癡迷,是一種漢語詞彙,它是指極度迷戀某人或某種事物而不能自拔,嚴重者將脫離現實,活在自己的世界中。2、沉迷不悟。元馬致遠《青衫淚》第二折:“這其間枉了我再三相勸,怎當他癡迷漢苦死歪纏。”《紅樓夢》第五回:“看破的遁入空門,癡迷的枉送了性命。”...
-
用切諫造句子
造句指懂得並使用字詞,按照一定的句法規則造出字詞通順、意思完整、符合邏輯的句子。依據現代語文學科特徵,可延伸爲寫段、作文的基礎,是學生寫好作文的基本功。造句來源清俞樾《春在堂隨筆》卷八:“其用意,其造句,均以纖巧勝。”夏丏尊葉聖陶《文心雕龍》四:“造句也...