在php中打印星形图案时未按预期获得输出
我已经尝试过这段代码,我得到的输出在这里在php中打印星形图案时未按预期获得输出,php,for-loop,Php,For Loop,我已经尝试过这段代码,我得到的输出在这里 <?php for($i=1;$i<=5;$i++){ for($j=5-$i;$j>=1;$j--){ echo " "; echo " "; } for($k=1;$k<=$i;$k++){ echo $i; } echo "<
<?php
for($i=1;$i<=5;$i++){
for($j=5-$i;$j>=1;$j--){
echo " ";
echo " ";
}
for($k=1;$k<=$i;$k++){
echo $i;
}
echo "<br/>";
}
?>
1
22
333
4444
55555
只需将echo$i更改为echo$k
for($k=1;$k<=$i;$k++){
echo $k;
}
for($k=1;$k由于您使用HTML,您可能希望将此逻辑包装到一个函数中,该函数可以让您选择要显示的行数。您可以根据CSS对其进行调整以满足您的需要:
function numberTriangle($endNumber, $align_text = 'right') {
$max = intval($endNumber);
$align = strval($align_text);
$align = ( strlen(trim($align)) > 0 ) ? $align : 'right';
echo "<div style='text-align : $align; display : inline-block'>";
if( $max > 0 ) {
for( $i = 1; $i < $max + 1; $i++ ) {
for( $j = 1; $j < $i + 1; $j++ ) {
echo $j;
}
echo '<br />';
}
}
echo '</div>';
}
numberTriangle(5);
// Will display :
/*
1
12
123
1234
12345
*/
函数numberTriangle($endNumber,$align_text='right'){
$max=intval($endNumber);
$align=strval($align\u text);
$align=(strlen(trim($align))>0)?$align:'right';
回声“;
如果($max>0){
对于($i=1;$i<$max+1;$i++){
对于($j=1;$j<$i+1;$j++){
echo$j;
}
回声“
”;
}
}
回声';
}
数三角形(5);
//将显示:
/*
1.
12
123
1234
12345
*/
由于此功能,您不必再添加手动空间,这更干净(并节省了您的头数!)。您应该发布一些代码。将此作为循环:用于($k=1;$k这看起来很像家庭作业-你应该自己做。请帮我做家庭作业,如果你认为@franzgleichmanthanks@Yuva Raj有那么多效果,还有一件事如果我想打印简单的金字塔状图案,代码会保持不变,我只需要更改空格,请告诉我。
function numberTriangle($endNumber, $align_text = 'right') {
$max = intval($endNumber);
$align = strval($align_text);
$align = ( strlen(trim($align)) > 0 ) ? $align : 'right';
echo "<div style='text-align : $align; display : inline-block'>";
if( $max > 0 ) {
for( $i = 1; $i < $max + 1; $i++ ) {
for( $j = 1; $j < $i + 1; $j++ ) {
echo $j;
}
echo '<br />';
}
}
echo '</div>';
}
numberTriangle(5);
// Will display :
/*
1
12
123
1234
12345
*/