打印字母序列

时间:2018-12-13 18:54:11

标签: php for-loop foreach while-loop sequence

如何在不使用'for'的情况下使用PHP打印字母序列?它必须是这样的:

print a sequence of letters

我有这样的代码:

<?php

$a = 'a';
$n = 50;
$i = 0;
$k = 0;

while ( $i < $n ) {
    echo $a." ".'<p></p>';
    for ($k =0; $k<=$i; $k++) { 
        echo $a." ";
    }
    $i++;
}
?>

但是我不需要'for',也许是带有'while','if'或'foreach'的东西。 想法?

4 个答案:

答案 0 :(得分:1)

  def car_params
    params.permit(
      :max_speed_in_kmh,
      :name,
      { wheels_attributes: [:id, :place, :thickness_in_cm] }
    )
  end

输出:

<?php

print
implode(
    "\n",
    array_map(
        function($n) {
            return str_repeat('a', $n);
        },
        range(1,10)
    )
);

答案 1 :(得分:0)

一个选择可能是使用第二个while循环:

$a = 'a';
$n = 50;
$i = 0;

while ($i < $n) {
    $k = -1;
    $str = "";
    while ($k < $i) {
        $str .= " $a";
        $k++;
    }
    echo "$str<br>";
    $i++;
}

Php demo

另一个选择可能是使用str_repeat

while ( $i < $n ) echo str_repeat($a, ++$i) . "<br>";

Php demo

答案 2 :(得分:0)

实际上,我也找到了一种方法,感谢所有答案!

<?php

$i=0; 
$j=50; 
while($i < $j ) {
    $j=50; 
    $k=0;
    while($k <= $i){
        echo 'a';
        ++$k;
    }
    echo "<p></p>";
    $i++;
}

如果您是编码世界的新手,这很容易理解。

答案 3 :(得分:0)

以下等同。

在以下范围内

<?php
for($i=1, $n=10; $i<=$n; $i++) {
    for($j=1; $j<=$i; $j++) {
        echo 'a';
    }
    echo "\n";
}

for和str_repeat:

<?php
for($i=1, $n=10; $i<=$n; $i++)
    echo str_repeat('a', $i), "\n";

foreach具有范围和str_repeat:

<?php
foreach(range(1, 10) as $n)
    echo str_repeat('a', $n), "\n";

输出(对于每个摘录):

a
aa
aaa
aaaa
aaaaa
aaaaaa
aaaaaaa
aaaaaaaa
aaaaaaaaa
aaaaaaaaaa