以下均属于个人的理解和记录,有错的地方,请多多指教。
<?php
header('Content-Type:text/html;charset=utf-8');$num = isset($_GET['num']) ? $_GET['num'] - 0 : 5;
/* 金字塔图案一 */for ($i = 1; $i <= $num; $i++) {
for ($j = 0; $j < $i; $j++) {
echo '*';
}echo '<br />';
}
echo '<hr />';
/* 金字塔图案二 */
for ($i = 1; $i <= $num; $i++) {
for ($j = 0; $j < 2 * $i - 1; $j++) {//通过j来控制数量
echo '*';
}echo '<br />';
}
echo '<hr />';
/* 金字塔图案三 */
for ($i = 1; $i <= $num; $i++) {
for ($k = 1; $k <= $num - $i; $k++) {
echo ' '; //输出前方的空格数量
}
for ($j = 0; $j < 2 * $i - 1; $j++) {//通过j来控制数量
echo '*';
}echo '<br />';
}
echo '<hr />';
/* 金字塔图案四 */
for ($i = 1; $i <= $num; $i++) {
for ($k = 1; $k <= $num - $i; $k++) {
echo ' '; //输出前方的空格数量
}
for ($j = 0; $j < 2 * $i - 1; $j++) {//通过j来控制数量
if ($j == 0 || $j == 2 * $i - 2) {//判断每一行的第一个和最后一个输出*
echo '*';
} else {
echo ' '; //其余输出空格
}
}echo '<br />';
}
echo '<hr />';
/* 金字塔图案五 */
for ($i = 1; $i <= $num; $i++) {
for ($k = 1; $k <= $num - $i; $k++) {
echo ' '; //输出前方的空格数量
}
for ($j = 0; $j < 2 * $i - 1; $j++) {//通过j来控制数量
if ($j == 0 || $j == 2 * $i - 2 || $i == $num) {//判断每一行的第一个和最后一个输出*,最后一行全部输出*
echo '*';
} else {
echo ' '; //其余输出空格
}
}echo '<br />';
}
?>
<form action="gold_self.php" method="">
请输入一个金字塔层数:<input type="text" name="num" value="<?php echo $num; ?>" />
<input type="submit" value="生成金字塔"/>
</form>