如何在不使用'for'的情况下使用PHP打印字母序列?它必须是这样的:
我有这样的代码:
<?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'的东西。 想法?
答案 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++;
}
另一个选择可能是使用str_repeat
while ( $i < $n ) echo str_repeat($a, ++$i) . "<br>";
答案 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