我被要求使用 PHP 中的循环制作金字塔和倒金字塔。
我不知道如何制作倒置部分,并注意:金字塔线基于您想要输出的输入。
这是我的代码:
$height = $_POST['height'];
if($height <= 0)
{
echo "Please write Positive Number";
}
$spacing = $height -1;
$base = 1;
for ($i = 0; $i < $height; $i++)
{
for ($x = $spacing; $x > 0; $x--)
{
echo " ";
}
for ($k = 0; $k < $base; $k++)
{
echo "*";
}
$spacing --;
$base ++;
echo "<br/>";
}
输出应该是这样的:
*
**
***
****
*****
*****
****
***
**
*
答案 0 :(得分:1)
这个怎么样:
$height = $_POST['height'];
if ($height <= 0) {
echo "Please write Positive Number";
} else {
for ($i = 1; $i <= $height; $i++) {
echo str_repeat("*", $i) . "<br />";
}
echo '<br />';
for ($i = $height; $i >= 1; $i--) {
echo str_repeat("*", $i) . "<br />";
}
}
验证已编辑。
答案 1 :(得分:0)
这应该适合你:
$height = $_POST['height'] = 5;
if($height <= 0)
echo "Please write Positive Number";
for($count = 1; $count <= $height; $count++) {
for($innerCount = 0; $innerCount < $count; $innerCount++)
echo "*";
echo "<br />";
}
echo "<br />";
for($count = $height; $count > 0; $count--) {
for($innerCount = 0; $innerCount < $count; $innerCount++)
echo "*";
echo "<br />";
}
输出:
*
**
***
****
*****
*****
****
***
**
*
答案 2 :(得分:0)
以下while循环满足颠倒三角形
$x = 10;
while ( $x >= 1 ) {
$y=1;
while ($y <= $x) {
echo "*";
++$y;
}
echo "<br/>";
--$x;
}
答案 3 :(得分:0)
你已经打印了金字塔,但你的代码似乎有点复杂,反向尝试下面的代码
for ($i = $height; $i >= 0; $i--) {
for ($j = 0; $j < $i; $j++){
echo '*';
}
echo "<br/>";
}