>백엔드 개발 >PHP 튜토리얼 >字符串为什么能这样比较?

字符串为什么能这样比较?

WBOY
WBOY원래의
2016-06-06 20:13:061098검색

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

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

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

回复内容:

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

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

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

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

0x01不就是16进制吗

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

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

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.