search

Home  >  Q&A  >  body text

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

<?php

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

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

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

PHP中文网PHP中文网2824 days ago329

reply all(4)I'll reply

  • 伊谢尔伦

    伊谢尔伦2017-04-10 17:11:04

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

    reply
    0
  • PHP中文网

    PHP中文网2017-04-10 17:11:04

    0x01不就是16进制吗

    reply
    0
  • 高洛峰

    高洛峰2017-04-10 17:11:04

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

    reply
    0
  • 天蓬老师

    天蓬老师2017-04-10 17:11:04

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

    reply
    0
  • Cancelreply