减少循环的值

I have this code, but i want in second loop a decrease of $p value. The first internal loop must be repeated three times, the second, two times and the last, one time. I am trying $p-- but without success.

Any idea ? thanks

$p = 3;
for ($i = 0; $i < 3; $i++) {
     for ($o = 0; $o < $p; $o++) {
          echo "something";
          $p--;
     }
}

Move your $p-- to outside the inner for loop:

$p = 3;
for ($i = 0; $i < 3; $i++) {
     for ($o = 0; $o < $p; $o++) {
          echo "something";
     }
     $p--;
}

Or better, just depend on the value of $i:

for ($i = 0; $i < 3; $i++) {
     for ($o = 0; $o < 3 - $i; $o++) {
          echo "something";
     }
}

Or if you don't actually use $i:

for ($i = 2; $i >= 0; $i--) {
     for ($o = 0; $o < $i; $o++) {
          echo "something";
     }
}

You need to decrement $p outside the first loop

It's quite simple.

for ($i = 2; $i >= 0; $i--) 
{
}

Set the starting number at the upper limit number, and then go down until equal to 0, $i minus 1;