Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在php中打印星形图案时未按预期获得输出_Php_For Loop - Fatal编程技术网

在php中打印星形图案时未按预期获得输出

在php中打印星形图案时未按预期获得输出,php,for-loop,Php,For Loop,我已经尝试过这段代码,我得到的输出在这里 <?php for($i=1;$i<=5;$i++){ for($j=5-$i;$j>=1;$j--){ echo "&nbsp;"; echo "&nbsp;"; } for($k=1;$k<=$i;$k++){ echo $i; } echo "<

我已经尝试过这段代码,我得到的输出在这里

<?php
    for($i=1;$i<=5;$i++){
        for($j=5-$i;$j>=1;$j--){
            echo "&nbsp;";
            echo "&nbsp;";
        }
        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
*/