如何打印此图案?
$number = 5;
for ($i=1; $i <= $number ; $i++) {
for ($j=$i; $j >= 1;$j--){
echo "0";
}
echo "\n";
}
Run Code Online (Sandbox Code Playgroud)
印刷
0
00
000
0000
00000
Run Code Online (Sandbox Code Playgroud)
我试过这样,但我很困惑打印星号和零字符
0
00
000
0000
00000
Run Code Online (Sandbox Code Playgroud)
印刷
1 => 1
2 => 3
3 => 6
4 => 10
5 => 15
Run Code Online (Sandbox Code Playgroud)
Nic*_*ick 18
您可以使用str_repeat生成所需长度的字符串。请注意,对于三角形数字,(1, 3, 6, 10, 15, ...)您可以将i第 'th 个数字生成为i(i+1)/2:
$number = 5;
for ($i = 1; $i <= $number; $i++) {
echo str_repeat('*', $i * ($i + 1) /2) . str_repeat('0', $i) . PHP_EOL;
}
Run Code Online (Sandbox Code Playgroud)
输出:
*0
***00
******000
**********0000
***************00000
Run Code Online (Sandbox Code Playgroud)
对于输出的三角形部分的更直接的生成(即从 1 到 的数字之和i),您可以使用此代码在每次迭代时将$i *'s 和 1添加0到输出:
$line = '';
$number = 5;
for ($i = 1; $i <= $number; $i++) {
$line = str_repeat('*', $i) . $line . '0';
echo $line . PHP_EOL;
}
Run Code Online (Sandbox Code Playgroud)
输出:
*0
***00
******000
**********0000
***************00000
Run Code Online (Sandbox Code Playgroud)