我想像这样显示输出
1 1
12 21
123 321
1234 4321
1234554321
这是我的PHP代码
for($i=1;$i <= 5;$i++)
{
for($j=1;$j<=$i;$j++)
{
// print the result
echo "$j";
}
for($y=$i;$y<=$i;$y++)
{
echo ' ';
}
for($k=$i;$k>=1;$k--)
{
// print the result
echo " $k";}
echo "<br/>";
}
但是我得到了像这样的输出
1 1
12 2 1
123 3 2 1
1234 4 3 2 1
12345 5 4 3 2 1
请帮我看一下上面的输出。
答案 0 :(得分:4)
试
for($i=1;$i <= 5;$i++) {
for($j=1;$j<=$i;$j++) {
echo "$j";
}
for($y=0;$y<(5-$i)*4;$y++) {
echo ' ';
}
for($l=$i;$l>0;$l--) {
echo "$l";
}
echo "<br/>";
}
输出: -
1 1
12 21
123 321
1234 4321
1234554321
对于浏览器视图: - for($y=0;$y<(5-$i)*4;$y++)
其他正确的方法是for($y=0;$y<(5-$i)*2;$y++)
答案 1 :(得分:2)
你有没有关于PHP函数str_repeat
和range
?
http://php.net/manual/en/function.str-repeat.php。 http://php.net/manual/en/function.range.php
有了它,您可以打印
这样的字符:
echo str_repeat(' ', (5 -$i) *4);
完整代码
$count = 5; // count oft rows and oft iterated numbers
for ($i = 1; $i <= $count; $i++) {
echo implode('', range(1, $i));
echo str_repeat(' ', ($count -$i) *4);
echo implode('', array_reverse(range(1, $i)));
echo '<br />';
}
答案 2 :(得分:0)
这个怎么样?
for($i=1;$i<=5;$i++){
echo substr("12345", 0, $i);
echo str_repeat(5-$i, ' ');
echo str_reverse(substr("12345", 0, $i));
echo '<br>';
}
答案 3 :(得分:0)
试试这个:
for($i=1;$i <= 5;$i++)
{
for($j=1;$j<=$i;$j++)
{
echo "$j";
}
for($y=1;$y<=10-(2*$i);$y++)
{
echo ' ';
}
for($k=$i;$k>=1;$k--)
{
// print the result
echo "$k";
}
echo "<br/>";
}
<强>输出:强>
1 1
12 21
123 321
1234 4321
1234554321
答案 4 :(得分:0)
$y<= 2 * (5 - i)
,
for($i=1;$i <= 5;$i++) {
for($j=1;$j<=$i;$j++) {
echo "$j";
}
for($y=1;$y<= 2 * (5 - i); $y++) {
echo ' ';
}
for($k=$i;$k>=1;$k--) {
echo "$k";
}
echo "<br/>";
}
答案 5 :(得分:-1)
for ($counter=1;$counter<= 5;$conter++)
{
for ($j=1;$j<=$counter;$j++)
{
echo "$j";
}
for ($y=1;$y<=10-(2*$counter);$y++)
{
echo ' ';
}
for ($k=$counter;$k>=1;$k--)
{
echo "$k";
}
echo "<br/>";
}