2

次のように、PHPで整数を文字に変換する関数を作成するのを手伝ってくれますか?

'A' => 0,
'B' => 1,
'C' => 2,
'D' => 3,
'E' => 4,
'F' => 5,
'G' => 6,
'H' => 7,
'I' => 8,
'J' => 9

number が 100 の場合、BAA を生成する必要があります。

A、B、C... はほんの一例です。番号をコードで暗号化しようとしています。

私はこれが次のような単語で動作する必要があります

0 => zero
1 => one

しかし、10 を指定すると、 が出力されるはずonezeroです。

前もって感謝します

4

7 に答える 7

14

このように簡単に試してください

    $letter = chr($i+65);
    echo $letter;

「A」を与える

于 2013-04-24T13:18:14.053 に答える
1
<?php
$list=array('A' => 0,
'B' => 1,
'C' => 2,
'D' => 3,
'E' => 4,
'F' => 5,
'G' => 6,
'H' => 7,
'I' => 8,
'J' => 9);
 $num=1234; //your value
 $temp='';
 $arr_num=str_split ($num);
foreach($arr_num as $data)
{
$temp.=array_search($data,$list);
}
$num=$temp;
echo $num; // here we get BCDE
?>
于 2013-04-24T13:29:39.797 に答える
1
<?php
$number = 100;
$len = strlen($number);
for($i=0;$i<$len;$i++) {
    echo printAlphabet(substr($number,$i,1));
}
function printAlphabet($pos) {
    $letter = chr($pos+65);
    return $letter;
}
?>
于 2013-04-24T13:37:02.023 に答える
1

これはあなたのために働くかもしれません:

$numarr=array('A' => 0, 'B' => 1, 'C' => 2);
$narr = array_flip($numarr);

$num = 100;
$arr = str_split($num);

$str = '';
foreach($arr as $s)
   $str .= $narr[$s];
echo $str . "\n"; //BAA

ライブデモ: http://ideone.com/3XqoZ7

于 2013-04-24T13:18:19.383 に答える
0

あなたが何をしたいのかを正しく理解していれば、アルファベットの文字の位置を返す関数を持っているので、これでそれを行うことができます:

<?php
    function chartonumber($char) {
        return ord(strtolower($char)) - 96;
    }
    echo chartonumber('A')."\n";
    echo chartonumber('b')."\n";
    echo chartonumber('E')."\n";
?>

これは印刷されます:

1
2
5

これは、それぞれ文字 A、b、および E の位置です。

仕組み: - 文字を小文字にします。- ascii int に変換します。- 前の 96 個の ASCII テーブル文字を減算します。

楽しむ :)

于 2013-04-24T13:22:22.337 に答える
-2
<?php
$stack = array("A", "B");
array_push($stack, "C", "D", "E", "F", "G", "H","I","J");
print_r($stack);
?>
于 2013-04-24T13:21:00.473 に答える