2011-12-30 7 views
1

は、私は文字列の各文字の上にシリアル番号を印刷したい
のような単一の文字コードを持つ文字列MGCLGNSKTEDQRNEEKAQREAMGCLGNSKTEDQRNEEKAQREAMGCLGNSKTEDQRNEEKAQREA
を持っています。事前に文字列の各文字にシリアル番号を表示します。 PHP

123456789101112131415161718192021222324252627282930 
MGCLGNSKTED Q R N E E K A Q R E A M G C L G N S K T 

などのおかげ。

+0

を取得することができますが、連続する番号を意味していますか? 1、2、3 ...?出力はプレーンテキストかHTMLか? –

答えて

0

私は右のあなたを得た場合、これはあなたが(注意、小さなミス、テストがあるかもしれません)必要なものです:いくつかの派手なPHPの機能について学ぶために

function printSerial($string){ 
    $map = array(
     'M' => 1, 
     'G' => 2, 
     'C' => 3, 
     // ... please continue 
    ); 
    $output = ''; 
    for($i=0; $i<strlen($string); $i++){ 
     $output .= $map[$string[$i]]; 
    } 
    echo $output; 
} 
2

素敵な言い訳:

<?php 

$single_letter_codes = 'MGCLGNSKTEDQRNEEKAQREAMGCLGNSKTEDQRNEEKAQREAMGCLGNSKTEDQRNEEKAQREA'; 

foreach(range(1, strlen($single_letter_codes)) as $number){ 
    echo $number; 
} 
echo PHP_EOL; 

foreach(str_split($single_letter_codes) as $index => $letter){ 
    // Changed ' ' to '·' to make it visible 
    echo str_pad($letter, strlen($index+1), '·', STR_PAD_LEFT); 
} 
echo PHP_EOL; 

仮定:

  • シングルバイト文字列
  • は右のように、アライメント:

    10 
    A 
    

そして、我々が得る:

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 
MGCLGNSKT·E·D·Q·R·N·E·E·K·A·Q·R·E·A·M·G·C·L·G·N·S·K·T·E·D·Q·R·N·E·E·K·A·Q·R·E·A·M·G·C·L·G·N·S·K·T·E·D·Q·R·N·E·E·K·A·Q·R·E·A 

更新:をHTMLとしてこれを表示するためには、固定幅フォントを強制する必要があります。最も簡単な方法は、すべてを<pre></pre>タグセットに囲むことです。

ドットの代わりにスペースを使用する方法を読者の練習として残します。

+0

ありがとう、働いていますが、OやPのような文字があれば、文字列の表示は右にシフトします。 –

+0

それは当てはまりません。プレーンテキストを生成していないことをあなたは予感しています。私は一時間前に尋ねたが、決して答えを得ていない:) –

+0

私は遅く返事を申し訳ありません。私はhtmlの出力を生成しています。 der shudはドットではありません。スペースが必要です。 –

0

おそらくこれは...

<?php 

$str = 'MGCLGNSKTEDQRNEEKAQREAMGCLGNSKTEDQRNEEKAQREAMGCLGNSKTEDQRNEEKAQREA'; 
$len = strlen($str); 
$nums = ''; 
$lets = ''; 
for ($i = 1; $i <= $len; $i++) { 
    $nums .= $i; 
    $lets .= sprintf('% ' . strlen($i) . 's', $str[$i - 1]); 
} 
echo $nums . "\n" . $lets; 

あなたは

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 
MGCLGNSKT E D Q R N E E K A Q R E A M G C L G N S K T E D Q R N E E K A Q R E A M G C L G N S K T E D Q R N E E K A Q R E A