为什么结果是这样,感谢 <?php$first=1+"\x10";echo $first."<br>";echo "ghyghost";$first1=1+"\x35";echo $first1."<br>"?>1和6呢,为什么啊, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <?php$first=1+"\x10";echo $first."<br>";echo "ghyghost";$first1=1+"\x35";echo $first1."<br>";$first2=1+"0x\x41\x31";echo $first2."<br>";?>补充一下为什么是1,6,162啊, 手册:======================字符串转换为数值当一个字符串被当作数字来求值时,根据以下规则来决定结果的类型和值。 如果包括“.”,“e”或“E”其中任何一个字符的话,字符串被当作 float 来求值。否则就被当作整数。 该值由字符串最前面的部分决定。如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零)。合法数字数据由可选的正负号开始,后面跟着一个或多个数字(可选地包括十进制分数),后面跟着可选的指数。指数是一个“e”或者“E”后面跟着一个或多个数字。 <?php$foo = 1 + "10.5"; // $foo is float (11.5)$foo = 1 + "-1.3e3"; // $foo is float (-1299)$foo = 1 + "bob-1.3e3"; // $foo is integer (1)$foo = 1 + "bob3"; // $foo is integer (1)$foo = 1 + "10 Small Pigs"; // $foo is integer (11)$foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2)$foo = "10.0 pigs " + 1; // $foo is float (11)$foo = "10.0 pigs " + 1.0; // $foo is float (11)----------------------------------------------------------hexdec(PHP 3, PHP 4, PHP 5)hexdec -- 十六进制转换为十进制说明number hexdec ( string hex_string )返回与 hex_string 参数所表示的十六进制数等值的的十进制数。hexdec() 将一个十六进制字符串转换为十进制数。所能转换的最大数值为 7fffffff,即十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数字,这种情况下,它会返回 float 类型。 hexdec() 将遇到的所有非十六进制字符替换成 0。这样,所有左边的零都被忽略,但右边的零会计入值中。 echo hexdec("\x10");//output 0echo hexdec("\x35");//output 5echo hexdec("0x\x41\x31");//output 161 \x10 转换成10进制是 16 ASCII码的值是DLE 根据字符串和数字相加规则 1+DLE=1\x35转换成10进制为53 ASCII码的值为5根据规则1+"5" =60x\x41\x31 其中 \x41转换换成ASCII值为A \x31转换后为1则字符串 "0xA1" 转换成10进制为1611+161 = 162 php定时程序,ignore_user_abort(true);set_time_limit(0); zend studio新建服务器的问题???? 奇怪,怎么在网页上把图片后缀名去掉? 请教个关于smarty循环的问题 xajax写2级联动遇到问题了 新手求助程序·希望各位帮助 画面跳转的问题 请问Submit以后,怎么让页面被刷新的时候不再Submit? 刚写的自助建站程序,帮测试一下 怎样得到数据库中的行数 关于表单按纽实现翻页功能的问题 我用的是phpmyadmin2.8.2这个里面的怎么对字段设初始值啊?我找了半天?
$first=1+"\x10";
echo $first."<br>";
echo "ghyghost";
$first1=1+"\x35";
echo $first1."<br>";
$first2=1+"0x\x41\x31";
echo $first2."<br>";
?>
补充一下为什么是1,6,162啊,
======================
字符串转换为数值
当一个字符串被当作数字来求值时,根据以下规则来决定结果的类型和值。 如果包括“.”,“e”或“E”其中任何一个字符的话,字符串被当作 float 来求值。否则就被当作整数。 该值由字符串最前面的部分决定。如果字符串以合法的数字数据开始,就用该数字作为其值,否则其值为 0(零)。合法数字数据由可选的正负号开始,后面跟着一个或多个数字(可选地包括十进制分数),后面跟着可选的指数。指数是一个“e”或者“E”后面跟着一个或多个数字。
<?php
$foo = 1 + "10.5"; // $foo is float (11.5)
$foo = 1 + "-1.3e3"; // $foo is float (-1299)
$foo = 1 + "bob-1.3e3"; // $foo is integer (1)
$foo = 1 + "bob3"; // $foo is integer (1)
$foo = 1 + "10 Small Pigs"; // $foo is integer (11)
$foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2)
$foo = "10.0 pigs " + 1; // $foo is float (11)
$foo = "10.0 pigs " + 1.0; // $foo is float (11)
----------------------------------------------------------hexdec
(PHP 3, PHP 4, PHP 5)hexdec -- 十六进制转换为十进制
说明
number hexdec ( string hex_string )
返回与 hex_string 参数所表示的十六进制数等值的的十进制数。hexdec() 将一个十六进制字符串转换为十进制数。所能转换的最大数值为 7fffffff,即十进制的 2147483647。PHP 4.1.0 开始,该函数可以处理大数字,这种情况下,它会返回 float 类型。 hexdec() 将遇到的所有非十六进制字符替换成 0。这样,所有左边的零都被忽略,但右边的零会计入值中。 echo hexdec("\x10");//output 0
echo hexdec("\x35");//output 5
echo hexdec("0x\x41\x31");//output 161
1+"5" =60x\x41\x31 其中 \x41转换换成ASCII值为A \x31转换后为1则字符串 "0xA1" 转换成10进制为1611+161 = 162