【问题标题】:How to force string variable to evaluate to hex char in a string?如何强制字符串变量评估为字符串中的十六进制字符?
【发布时间】:2013-09-07 11:33:15
【问题描述】:

我试图用字符串中的十六进制值来表示一个字符。如果 hex 是显式的,它可以工作,但在使用 hex 变量时不起作用:

$hex = '5A';
echo "Hex explicit: \x5A, Hex evaluated: \x$hex";

输出是:

Hex explicit: Z, Hex evaluated: \x5A

问题是 - 如何修改 \x$hex 以获取 Z 而不是 \x5A?

【问题讨论】:

    标签: php string hex evaluation


    【解决方案1】:

    希望这会有所帮助。

    整数字面量

    <?php
    $a = 1234; // decimal number
    $a = -123; // a negative number
    $a = 0123; // octal number (equivalent to 83 decimal)
    $a = 0x1A; // hexadecimal number (equivalent to 26 decimal)
    ?> 
    

    这就是答案

    $hex = chr(0x5A);
    echo "Hex explicit: \x5A, Hex evaluated:".$hex;
    

    或

    $hex = chr(0x5A);
    echo "Hex explicit: \x5A, Hex evaluated: $hex";
    

    试试这个链接 http://www.w3schools.com/php/func_string_chr.asp

    【讨论】:

    • 在我的示例中如何使用它来获取Z?
    • 谢谢,这行得通!小心 w3schools - http://www.w3fools.com/
    • 这是为什么呢?如果你有比 w3 更好的东西那就太好了。
    • W3schools 对于初学者来说还不错,但考虑一下here 和 here
    • @DmitriZaitsev 你可以给我的答案投票吗,因为你已经接受它作为最佳答案。
    猜你喜欢
    • 2019-07-27
    • 2014-03-07
    • 1970-01-01
    • 2011-10-22
    • 2010-10-04
    • 2017-03-22
    • 2016-02-26
    • 1970-01-01
    • 2018-01-31
    相关资源
    最近更新 更多