2015-08-08 126 views
1

如何環與樣品input = 5如何循環數(輸入:5)在PHP

和輸出:

1 2 3 4 5 
0 2 3 4 5 
0 0 3 4 5 
0 0 0 4 5 
0 0 0 0 5 

PHP:

<?php 
$i=5; 
for($a=1; $a<=$i; $a++){ 
    echo $a." "; 
} 
echo "\n"; 
for($a=0; $a<=$i; $a++){ 
    if($a==1){ 
    continue; 
    } 
    print "$a "; 
} 
echo "\n"; $ex = array(1,2); 
for($a=1; $a<=$i; $a++){ 
    if(in_array($a, $ex)){ 
    continue; 
    } 
    print "$a "; 
} 
?> 

如何解決這個問題?

+0

你到底要幹什麼?你試過什麼了? – ThomasVdBerge

+0

<?php $ i = 5; ($ a = 1; $ a <= $ i; $ a ++){ echo $ a。「」; } echo「\ n」; ($ a = 0; $ a <= $ i; $ a ++){ if($ a == 1){ continue;} print「$ a」; } echo「\ n」; $ ex = array(1,2); ($ a = 1; $ a <= $ i; $ a ++){ if(in_array($ a,$ ex)){ continue;} print「$ a」; }?> –

+3

在你家做你的作業:) – MilapTank

回答

1

想簡單

<?php 
$input = 5; 
for($i = 1; $i <= $input; $i++) { 
    for($j = 1; $j <= $input; $j++) { 
     if($i > $j) { 
      echo "0 "; 
     } else { 
      echo $j . " "; 
     } 
    } 
    echo "<br>"; 
} 
?> 
+0

謝謝泰米爾Selvan –

+1

該任務的合乎邏輯的解決方案。但是將來很難理解另一個人,這段代碼是幹什麼的。 –

2

使用內置的功能,它更容易閱讀和理解:

$input = 5; 
$nums = range(1, $input); 
for ($zeros_count = 0; $zeros_count < $input; $zeros_count++) { 
    echo str_repeat('0 ', $zeros_count); 
    echo implode(' ', array_slice($nums, $zeros_count)) . PHP_EOL; 
} 
+0

不錯的解決方案... –

+0

謝謝。但你的性能更高。如果是關於處理真實數據,這將變得重要。 –

+0

@MikhailBatcer很好的解決方案 –