如何使用 PHP 打印此模式?

Ton*_*gat 9 php

如何打印此图案?

图案

$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)

3v4l.org 上的演示

对于输出的三角形部分的更直接的生成(即从 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)

3v4l.org 上的演示