Задача №9 Вывод массива елочкой

<?php 
/**
* Задачи - http://fkn.ktu10.com/?q=node/8086
*
* @param int количество для вывода елочкой
*/
function showCristmasTree(int $limit)
{
	// Кидаю исключение если число меньше или равно нулю
	if ($limit <= 0) {
		throw new Exception("Error value not correct !");
	}
	
	$r = 0; // Счетчик вывода
	$m = 1; // Число что водится на экран

	for ($i=0; $i <= $r; $i++) 
	{ 
		for ($j=0; $j <= $r; $j++) 
		{ 
			if ($m <= $limit) 
			{
				echo $m . ' ';
				$m++;
			}
		}

		// Если мы достигли предела, то остановка цикла
		if ($r != $limit) {
			$r++;
		}

		echo "<br>";
	}

}

// Перехватываю исключение
try{
	showCristmasTree(21);
}catch(Exception $e){
	echo $e->getMessage();
}

Comments

  $r = 0; // Счетчик вывода
    $m = 1; // Число что водится на экран

-- дать им нормальные имена.

$r = 0; // Счетчик вывода
$m = 1; // Число что водится на экран

-- подумать над тем какие дать им имена
2) решить одним while-ом.

Задачи http://fkn.ktu10.com/?q=node/8086

/*
* @param int количество для вывода елочкой
*/
function showCristmasTree(int $limit)
{
    // Кидаю исключение если число меньше или равно нулю
    if ($limit <= 0) {
        throw new Exception("Error value not correct !");
    }
     
    $start = 1; // Счетчик - начало строки
    $end = 1;   // Счетчик - конец строки
    $current = 1; // Число что водится на экран
    
    while ($limit >= $current)
    {
        echo $current++ . ' '; 
         
        //Если счетчики сравнялись, обнуляем $start
        if($start == $end)
        {
            echo '<br>';
            $start = 0;
            $end++;
        }
        
        $start++;
    }
}


// Перехватываю исключение
try{
    showCristmasTree(74);
}catch(Exception $e){
    echo $e->getMessage();
}