这是一个正常的金字塔水平块动态,如hor = 5
$k = 10;
$last = 2;
for($i=0;$i<=$last;$i++){
for($t = 1;$t <= $last-$i;$t++)
{
echo " ";
}
for($j=1;$j<=$i+$i;$j++)
{
$k--;
echo "$k ";
}
echo "<br>";
但是我需要这个:
有可能吗? 任何帮助赞赏。 谢谢。
答案 0 :(得分:6)
这是一个更为整洁的方法:
首先,生成金字塔数组:
$width = 5;
$pyramid = array();
$number = 0;
while($width > 0) {
$row = array();
for( $i=0; $i<$width; $i++) {
$row[] = ++$number;
}
$pyramid[] = $row;
$width -= 2;
}
这将从底部到顶部为您提供数组中的金字塔。所以只需将其翻转过来:
$pyramid = array_reverse($pyramid);
现在渲染它:
echo '<div style="text-align:center">';
foreach($pyramid as $row) {
echo implode(" ",$row).'<br />';
}
echo '</div>';