2012-10-24 154 views
-6

我需要一个显示1到10的数字的PHP代码,数字1将是字母A,数字5的字母B和9的字母C,我使用FOR intruction进行编辑,但不太好。显示数字并用字母替换

<?php 
for($i=1;$i<=10;$i++) 
{ 
    if ($i==1) 
    { 
     echo 'A'; 
    } 
    echo "number:" .$i."<br />"; 

} 

?> 
+2

这些是唯一的译文:'A','B','C'? –

+0

为什么'B' 5和'C' 9?为什么不是2和3? –

+1

你总是从1到10?映射总是一样吗? – andrewsi

回答

3

而是有一堆if S的,请尝试将地图数字字母。

$map = array(
    1 => 'A', 
    5 => 'B', 
    9 => 'C' 
); 
for($i=1; $i <= 10; $i++){ 
    // If the value is in the map, print the letter, 
    // otherwise print the number 
    echo array_key_exists($i, $map) ? $map[$i] : $i; 
} 
+0

非常感谢你! – Serii

+0

不客气:) –

2

这几乎是不可能明白你问什么,但...

for($i = 1; $i <= 10; $i++) { 
    if($i == 1) { 
     echo 'A'; 
    } elseif($i == 5) { 
     echo 'B'; 
    } elseif($i == 9) { 
     echo 'C'; 
    } else { 
     echo $i; 
    } 
} 

你也可以使用一个switch声明这一点。

或者,如果你打算扩大这种更,一个关联数组可能更好地满足您的需求:

$letters = array(
    1 => 'A', 
    5 => 'B', 
    9 => 'C' 
); 

for($i = 1; $i <= 10; $i++) { 
    if(array_key_exists($i, $letters)) { 
     echo $letters[$i]; 
    } else { 
     echo $i; 
    } 
} 
+0

非常感谢你,现在的工作 – Serii