Начать цикл в php - PullRequest
       2

Начать цикл в php

0 голосов
/ 13 сентября 2018

Я пытаюсь создать серию непрерывных звезд. но вывод неправильный. я не понимаю, где я не прав здесь. Должен ли я добавить еще один цикл?

for ($i=1; $i<=6; $i++)         
{  
    for ($p=1; $p<=4; $p++)         
    { 
        for ($k=6; $k>$i; $k--)  
        {   
            echo "&nbsp;&nbsp;&nbsp;";   
        }

        for($j=1;$j<=$i;$j++)   
        {    
            echo "*"; 
            echo "&nbsp;&nbsp;&nbsp;"; 
        }
    }

    echo "&nbsp;";     
    echo "<br>"; 
}

Результирующий вывод:
This is result

Ответы [ 3 ]

0 голосов
/ 13 сентября 2018

Пояснение:

Вам необходимо вывести одинаковое количество символов для каждой строки. Вы печатаете символы до '*', поэтому просто печатаете символы после '*'.

PHP:

<?php
$star = '*';
$char = '&nbsp;';
for ($i=1; $i<=6; $i++) {  
    for ($p=1; $p<=4; $p++) {  
        for ($k=6; $k>$i; $k--) {   
            echo $char;   
        } 
        for($j=1; $j<=$i; $j++) {    
            echo $star; 
            echo $char;   
        }
        for ($k=6; $k>$i; $k--) {   
            echo $char;   
        } 
        echo $char.$char.$char;     
    }
    echo "<br>"; 
}
?>  

Выход:

     *              *              *              *         
    * *            * *            * *            * *        
   * * *          * * *          * * *          * * *       
  * * * *        * * * *        * * * *        * * * *      
 * * * * *      * * * * *      * * * * *      * * * * *     
* * * * * *    * * * * * *    * * * * * *    * * * * * *    
0 голосов
/ 13 сентября 2018

Ваш код почти работал нормально.Несколько настроек, необходимых для вашего кода.Пожалуйста, найдите рабочий код

for ($i=1; $i<=6; $i++){  
for ($p=1; $p<=4; $p++)         
{ 
    for ($k=6; $k>$i; $k--)  
    {   
        echo "&nbsp;&nbsp;&nbsp;";   
    } 
    for($j=1;$j<=$i;$j++)   
    {    
        echo "*"; 

        echo "&nbsp;&nbsp;&nbsp;&nbsp;"; 

    }

    for ($k=6; $k>$i; $k--)  
    {   
        echo "&nbsp;&nbsp;&nbsp;";   
    }
}
echo "&nbsp;";     
echo "<br>"; 
}
0 голосов
/ 13 сентября 2018

Вот фрагмент кода, который сгенерирует шаблон, который вы ищете. Для форматирования на SO я использовал пробел и символ новой строки, вы можете заменить их на &nbsp; и <br/> при необходимости:

for ($r = 0; $r <= 5; $r++) {
    for ($t = 1; $t <= 4; $t++) {
        for ($s = -5; $s <= 5; $s++) {
            echo ' ' . ((abs($s) <= $r) && (abs($s) % 2 == $r % 2) ? '*' : ' ') . ' ';
        }
    }
    echo "\n";
}

Выход:

                *                                *                                *                                *                
             *     *                          *     *                          *     *                          *     *             
          *     *     *                    *     *     *                    *     *     *                    *     *     *          
       *     *     *     *              *     *     *     *              *     *     *     *              *     *     *     *       
    *     *     *     *     *        *     *     *     *     *        *     *     *     *     *        *     *     *     *     *    
 *     *     *     *     *     *  *     *     *     *     *     *  *     *     *     *     *     *  *     *     *     *     *     * 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...