2012-10-20 76 views
6
var test = String.fromCharCode(112, 108, 97, 105, 110); 
document.write(test); 

// Output: plain 

是否有任何PHP代碼可以用作JavaScript的String.fromCharCode()PHP中的JavaScript函數fromCharCode()

+0

http://blog.stanislavstankov.com/2010/02/equal-function-string-fromcharcode-in-php/ –

+2

你[第一次問' String.charCodeAt'](http://stackoverflow.com/questions/12989697/using-php-to-find-unicode-of-a-character)現在你要求相反? –

+0

[** This **](http://stackoverflow.com/questions/6058394/unicode-character-in-php-string)是你想要的,因爲'String.fromCharCode'基本上是UTF-16 –

回答

0

chr()功能做到這一點,但只需要一個字符的時間。因爲我不知道如何讓一個可變數量的PHP論據,我只能建議是:

function chrs($codes) { 
    $ret = ""; 
    foreach($codes as $c) $ret .= chr($c); 
    return $ret; 
} 
// to call: 
chrs(Array(112,108,97,105,110)); 
1

The live demo.

$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); 
+1

我不認爲你正在處理UTF-16,其中'23416 - >「學」' –

+0

'String.fromCharCode(23476)'''宴「' – xdazz

+0

是我錯了我的錯 –

3

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;}); 
    } 
} 
+1

我不認爲你在處理UTF-16,其中'23416 - >」學'' –

+0

'String.fromCharCode(23476)''''' – Baba

+0

您沒有看到我的編輯。 'String.fromCharCode(23416)==「學」' –

1

嘗試是這樣的..

// 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; 
    }