2010-12-20 7 views
2

アルファベットの各文字を1行の配列A-Zから吐き出してみました。単純なアルファベットプログラムをPHPで書こうとしています

これは私のコードは、これまでに次のようになります。

$alphabet = array ("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"); 

while ($alphabet) { 
    echo $alphabet; 
    $alphabet; 
} 

イムちょっとこの部分で立ち往生し、この仕事をするために書くことは他に何をかなり確実ではありません。助言がありますか?

+1

数($アルファベット)の代わりにはsizeofの()組み込み関数を使用することができます配列をループします。 'true 'と評価される' $ alphabet'を評価しているだけです。無限ループがあります。 –

答えて

1
$alphabet = array ("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"); 

foreach($alphabet as $letter) { 
echo $letter; 
} 
10

使用rangearray_walk

function e($s) { echo $s; } 
array_walk(range('A', 'Z'), 'e'); 

の作業例:あなたは配列を必要とする理由http://codepad.org/pedjOlY9

+0

あなたの作業コードに感謝します。ちょうどPHPを学んでいるように、foreachの代わりにwhileループを使って同じことを言うことは可能でしょうか? – WillingLearner

+1

@WillingLearner:もちろんできます。すべてのループは、最も基本的なループであるため、whileループに変換することができます。しかし、コードをもっと書かなければならず、読みにくくなります。常に理解しやすいソリューションにしてください。 'foreach'は簡単です。なぜなら、名前は既に、何か他のものの各要素に対して何かが行われていることを意味しているからです。 –

+0

@Felix正解が受け入れられていないときは、本当に好きではありません。 : –

0

私たちはASCIIコードを持っている理由です ...わかりません。 あなたが行うことができますが、このようなものです:

for ($i = 65; $i <=90; $i++) 
{ 
    echo chr($i) . PHP_EOL; 
} 

CHR()ASCIIマップでの文字表示 - ここでそれを確認してください:http://www.danshort.com/ASCIImap/を。小文字を使用する場合は、代わりにstrtolower()または97-122の数値を使用してください。 PHP_EOLは、行末を出力する組み込み定数です。あなたがHTMLをやっているなら "
"でそれを変えることができます。

範囲はもう少し長くなると思いますが、それでも機能します。

0

このお

$alphabet = array ("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"); 

$c = sizeof($alphabet);  
for($i= 0; $i < $c ; $i++) {  
    echo $alphabet[$i];  
} 

のフル役立つかもしれない、あなたが期待どおりではないので、あなたのループが動作しません

関連する問題