在 PHP 中输出菱形图案的实现方法主要依赖于循环结构和字符串拼接。通过计算菱形的中间行数,结合循环控制,可以逐步输出菱形的上半部分、中心行和下半部分。
菱形的大小由中间行数决定。假设菱形的中间行数为 $rows。
上半部分菱形是从中心行开始向上逐行输出的。我们可以使用 PHP 中的 str_repeat() 函数生成每行前的空格和星号。循环控制会从 $rows - 1 开始,逐渐减少。
for ($i = $rows - 1; $i >= 1; $i--) {
$spaces = str_repeat(' ', $i - 1);
$stars = str_repeat('*', 2 * ($rows - $i) + 1);
echo $spaces . $stars . "\n";
}
菱形的中间行包含 $rows * 2 - 1 个星号。
$midLine = str_repeat('*', $rows * 2 - 1);
echo $midLine . "\n";
下半部分菱形的输出方法与上半部分类似,不过这一次从第 2 行开始向下逐行输出。循环控制会从 2 开始,逐渐增加。
for ($i = 2; $i <= $rows; $i++) {
$spaces = str_repeat(' ', $i - 1);
$stars = str_repeat('*', 2 * ($rows - $i) + 1);
echo $spaces . $stars . "\n";
}
$rows = 5; // 设定菱形的中间行数为 5
// 输出上半部分菱形
for ($i = $rows - 1; $i >= 1; $i--) {
$spaces = str_repeat(' ', $i - 1);
$stars = str_repeat('*', 2 * ($rows - $i) + 1);
echo $spaces . $stars . "\n";
}
// 输出中间行
$midLine = str_repeat('*', $rows * 2 - 1);
echo $midLine . "\n";
// 输出下半部分菱形
for ($i = 2; $i <= $rows; $i++) {
$spaces = str_repeat(' ', $i - 1);
$stars = str_repeat('*', 2 * ($rows - $i) + 1);
echo $spaces . $stars . "\n";
}
以上代码示例演示了如何使用 PHP 代码生成一个菱形图案。您可以根据需要调整 $rows 的值来改变菱形的大小。通过控制循环次数和字符串拼接,您可以在 PHP 中灵活地输出各种图案。