8
var test = String.fromCharCode(112, 108, 97, 105, 110);
document.write(test);

// Output: plain

是否有任何 PHP 代码可以像String.fromCharCode()javascript 一样工作?

4

6 回答 6

7

试试这个chr()功能:

返回一个包含由 ascii 指定的字符的单字符字符串。

http://php.net/manual/en/function.chr.php

于 2012-10-20T16:04:09.507 回答
6

PHP 具有chr函数,该函数将返回包含 ascii 指定字符的单字符字符串

为了适应您的 java 脚本风格,您可以创建自己的类

$string = String::fromCharCode(112, 108, 97, 105, 110);
print($string);

使用的类

class String {
    public static function fromCharCode() {
        return array_reduce(func_get_args(),function($a,$b){$a.=chr($b);return $a;});
    }
}
于 2012-10-20T16:05:13.710 回答
2

现场演示。

$output = implode(array_map('chr', array(112, 108, 97, 105, 110)));

你可以做一个函数:

function str_fromcharcode() {
    return implode(array_map('chr', func_get_args()));
}

// usage
$output = str_fromcharcode(112, 108, 97, 105, 110);
于 2012-10-20T16:05:11.790 回答
2

试试这样的..

 // usage: echo fromCharCode(72, 69, 76, 76, 79)
    function fromCharCode(){
      $output = '';
      $chars = func_get_args();
      foreach($chars as $char){
        $output .= chr((int) $char);
      }
      return $output;
    } 
于 2012-10-20T16:07:11.537 回答
1

chr()函数执行此操作,但是一次只需要一个字符。由于我不知道如何在 PHP 中允许可变数量的参数,我只能建议:

function chrs($codes) {
    $ret = "";
    foreach($codes as $c) $ret .= chr($c);
    return $ret;
}
// to call:
chrs(Array(112,108,97,105,110));
于 2012-10-20T16:04:53.670 回答
1

chr()如果您只需要 ASCII 支持,请使用。

echo chr(120); // outputs "x"

mb_chr()如果您需要 Unicode(需要mbstring扩展名) ,或者它的多字节双胞胎:

echo mb_chr(23416); // outputs "學" 

看:

于 2020-07-08T09:53:01.277 回答