首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么这里是0而不是255?

为什么这里是0而不是255?
EN

Stack Overflow用户
提问于 2010-07-22 15:34:45
回答 5查看 257关注 0票数 0
代码语言:javascript
运行
复制
echo intval(chr(255));

我不明白..。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-07-22 15:39:34

chr()函数将一个字节转换为与其等效的ASCII值,而intval()函数获取变量的整数值。

如果我们将语句分成两个不同的行,这将是:

代码语言:javascript
运行
复制
$a = chr(255); // $a is now a string
echo intval($a);

如果您查看intval()的文档,您会注意到:

字符串最有可能返回0,尽管这取决于字符串的最左边的字符。整数转换的通用规则适用。

这就是为什么结果是零的原因。

票数 10
EN

Stack Overflow用户

发布于 2010-07-22 15:38:33

字节0xFF不代表intval要查找的八进制、十进制或十六进制数字。你可能想要ord function

票数 7
EN

Stack Overflow用户

发布于 2010-07-22 15:38:47

要输出255,您需要:

代码语言:javascript
运行
复制
echo intval(ord(chr(255)));

在ASCII码中有128个序数,255是ÿ,所以当你用intval将它转换成一个数字时,它将是0。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3306674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档