+ -
当前位置:首页 → 问答吧 → 求高手 帮帮解决小弟一个问题。

求高手 帮帮解决小弟一个问题。

时间:2011-12-02

来源:互联网

if(ord($str[$i]) <0x81){
        if(ord($str[$i]) <33){

      }
}
请问这个这两个if是什么意思

作者: Mr_sophisticated   发布时间: 2011-12-02

如果$str[$i]ASCII 值小于<16进制81,即十进制129的


  如果A$str[$i]SCII 值小于33,则……

作者: amani11   发布时间: 2011-12-02

ord 函数取得字符的机器码值

当机器码值在某个范围里时,我们可以对其分类
比如可打印的基本ascii码字符的码值在 32 到 126 之间( ' ' 到 '~')

应该说这两个 if 的判断条件是错误的
if(ord($str[$i]) <0x81)
0x81 是十进制数 129 的 16进制表示
码值小于 0x81 的还有 0x80 依然在扩展 ASCII 码范围里

if(ord($str[$i]) <33)
码值小于 33 的还有空格,仍属于可打印字符

  }

作者: xuzuning   发布时间: 2011-12-02

谢谢了 楼上说的非常明白 我喜欢 呵呵

作者: Mr_sophisticated   发布时间: 2011-12-02

机器码什么的最讨厌了...

作者: PhpNewnew   发布时间: 2011-12-02

很费解 ascii 码在php程序里到底干什么用,有点浪费感情啊

作者: wuqiang1123   发布时间: 2011-12-02

相关阅读 更多