首頁 >後端開發 >php教程 >字符串为什么能这样比较?

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

WBOY
WBOY原創
2016-06-06 20:13:061109瀏覽

<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