2013-05-30 82 views
-1

我需要一个字符串并将字符串中的每个字符转换为使用PHP的键盘代码。将PHP字符串转换为键码字符串

所以为例Dave会变成68,61,76,65

我有一位客户,谁坚持使用其电子邮件转换成键码的JavaScript的扰码器之一,那么JavaScript的下方重新=创建的电子邮件地址,并添加的它的屏幕

emailriddlerarray是每个角色的用户的电子邮件地址转换成键码

var emailriddlerarray=[68,97,118,105,100,67,64,87,101,98,114,97,103,101,111,117,115,46,99,111,109] 
var encryptedemail_id50='' //variable to contain encrypted email 
for (var i=0; i<emailriddlerarray.length; i++){ 
    encryptedemail_id50+=String.fromCharCode(emailriddlerarray[i]) 
} 
+1

'ord()'函数是你在找什么? – Barmar

+0

这应该很容易使用内置在chr函数中的PHP,请参阅:http://php.net/manual/en/function.chr.php – codercake

+0

'chr()'是另一种方式。 – Barmar

回答

3

使用ord功能:

<?php 
    $string = '[email protected]'; 
    $decimalValues = array(); 
    for ($i = 0; $i < strlen($string); $i++) { 
     $decimalValues[] = ord($string[$i]); 
    } 
    echo '[' . implode(',', $decimalValues) . ']'; 
    //[109,121,64,101,109,97,105,108,46,99,111,109] 
?> 

DEMO

+0

真棒谢谢,我想我可能不得不做一个巨大的开关,这将是不好 – JasonDavis

1
$hex = bin2hex("Dave"); // =44617665 
$bin = hex2bin(44617665); // ="Dave" 
+0

+1,对不起,哈哈没有正确阅读这个问题。 –

+1

似乎没有这样的功能,你需要有点创意:http://goo.gl/tFzPz – Ziarno

1

使用ord这一点。

echo implode(',', array_map(function($character) {return ord($character);}, str_split($string))); 
+0

这将只使用PHP 5.3+,因为它使用匿名函数。另外,可读性>紧凑的代码。 – h2ooooooo

+0

我喜欢时髦的代码,加上大多数人现在应该使用5.4。 – silkfire