Döngüler İç içe iken yazın daha etkili bir yol var mı?

3 Cevap php

Gösterir Aşağıdaki kodu while döngüleri iç içe, ama çok etkili değil. Ben while döngüleri iç içe 100 eklemek için kod uzatmak istediğini varsayalım. Bu görevi gerçekleştirmek için daha iyi bir yolu var mı?

<?php 

$count = 1;

 $num = 1;
 $options=3;
 while ( $num <=$options ) 
    { 
echo "(".$num . ") "; 

    $num1 = 1; 
    $options1=3;
    while ( $num1 <=$options1 ) 
    { 
    echo "*".$num1 . "* "; 

        $num2 = 1; 
        $options2=3;
        while ( $num2 <=$options2 ) 
        { 
        echo "@".$num2 . "@ ";  

            $num3 = 1; 
            $options3=3;
            while ( $num3 <=$options3 ) 
            { 
            echo $num3 . " ";   
            $num3++; 
            $count++;
            }

        echo "<br />";
        $num2++; 
        }

    echo "<br />";
    $num1++; 
    }

echo "<br />";
$num++; 
} 
  echo $count;
 ?>

3 Cevap

Döngüler need iç içe olmak için bile mükemmel yeterince etkili.

Diğerleri söylediler, özyineleme daha zarif birbiri içinde size "yuva" farklı düzeylerde izin ve yuvalama seviyesi oldukça programınızın içine sabit coed olmaktan daha dinamik olarak kontrol edilebilir - ama sen bulursan tasarım yuva gerektirir 100 döngüler, sonra tasarım neredeyse kesinlikle tamamen deli olduğunu.

Tüm döngüler boyu sabit olduğundan (Ancak, özel bir örnek size. Hiç) herhangi döngüler (veya yineleme için gerek yoktur vermek, sen sonucu ön hesaplama ve sadece tek bir sabit bir dize echo. Sanırım bu bir olduğunu yerine yazmak isteyen gerçek kod daha hyporthetical örnek?)

Muhtemelen yerine döngü sırasında iç içe bir özyineleme kullanmak için algoritma uyum olmalıdır.

Sen özyinelemeli işlevler kullanabilirsiniz.