简体   繁体   中英

i want to make something with for loop

i want to make something use loop for like this

1 1 1 1
1 1 1 2
1 1 1 3
1 1 2 1
1 1 2 2
1 1 2 2
1 1 2 3

i have tried something like this ,but it comes out fail

for ($i=1; $i <=3 ; $i++) { 
            # code...
            echo "a$i";
            for ($i=1; $i <=3 ; $i++) { 
                # code...
                echo "b$i";
                for ($i=1; $i <=3 ; $i++) { 
                    # code...
                    echo "c$i";
                    for ($i=1; $i <=3 ; $i++) { 
                        # code...
                        echo "d$i";
                    }
                }
            }
        }

hope someone can help, thanks

You must use different counter on each nested loop. You cannot use the same variable at the same time. Also, your echoing a string with the variable in the wrong way (lacks concatenation)

Try

for ($i=1; $i <=3 ; $i++) { 
        # code...
        echo "a ".$i;
        for ($j=1; $j <=3 ; $j++) { 
            # code...
            echo "b ".$j;
            for ($k=1; $k <=3 ; $k++) { 
                # code...
                echo "c ".$k;
                for ($m=1; $m <=3 ; $m++) { 
                    # code...
                    echo "d ".$m;
                }
            }
        }
    }

Here is a quick code for this:

<?php

for ($a = 1; $a <= 7; $a++) {
    for ($b = 1; $b <= 4; $b++) {
        if (in_array($b, [1, 2]) || ($b === 3 && $a <= 3) || ($b === 4 && in_array($a, [1, 4]))) echo 1 . ' ';
        if (($b === 3 && $a >= 4) || ($b === 4 && in_array($a, [2, 5, 6]))) echo 2 . ' ';
        if (($b === 4 && $a === 3) || ($b === 4 && $a === 7)) echo 3 . '';
    }
    echo PHP_EOL;
}

actually i figure it out to make this code work

for ($i=1; $i <=3 ; $i++) { 
            # code...
            for ($j=1; $j <=3 ; $j++) { 
                # code...
                for ($k=1; $k <=3 ; $k++) { 
                    # code...
                    for ($l=1; $l <=3 ; $l++) { 
                        # code...
                        echo "$i";
                        echo "$j";
                        echo "$k";
                        echo "$l";
                        echo "<br>";
                    }
                }

            }
        }

Thank you guys for helping me

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM