php - 字符串为什么能这样比较?
PHP中文网
PHP中文网 2017-04-10 17:09:04
[PHP讨论组]
<?php

    $str = $_GET['ori'];
    echo "$str 的ASCII值为:" . ord($str) . "<br/>";
    
    if ($str > 0x01) {
        echo "大于";
    } else {
        echo "小于等于";
    }

想知道 > $str > 0x01 这块的比较规则是怎样的,能查到的几种规则都是 字符串之间或者字符串和数字之间的比较,但是感觉这里不太符合。

P.S. 答案里面带应该的就不用回答了。

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(4)
伊谢尔伦

那应该不是字符,而是字符转成ASCII值后和0x01比较

PHP中文网

0x01不就是16进制吗

高洛峰

ord()函数的作用是返回字符串第一个字符的ASCII码值,而只有字符串为空时,它的ASCII码值才会小于0x01。

天蓬老师

你这里是十六进制的比较,就好像是十进制的比较一样,只是你接收过来的就是一个十六进制数字,
同时,进行ord操作也只是返回一个你可以认识的数字出来。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号