Druga petla jest wewnatrz pierwszej. Pierwsza wykona sie 10 razy a druga 100 razy, po 10 razy dla kazdego z powtorzen petli I. Petla I tworzy <tr> a II <td>, wierszy jest 10 a komorek 100.
$a bedzie rowne 1 tylko jeden raz dla petli pierwszej i 10 razy dla drugiej.
$b natomiast bedzie ==1 jeden raz przy kazdym powtorzeniu petli pierwszej.
Dla powyzszej tabeli I wiersz i I kolumna beda czerwone. Dzieje sie tak ze petla pierwsza tworzy wiersze a druga komorki. Czyli dla $a == 1 (pierwszy wiersz) warunek jest spelniony tylko ten jeden raz. Natomiast I kolumna jest czerwona bo $b jest == 1 przy kazdym pierwszym przeskoku petli drugiej, czyli przy kazdym przeskoku petli pierwszej.
Pozostale komorki nie sa czerwone bo ani $a ani $b nie sa ==1.
Zmien kod w ponizszy sposob a zobaczysz obrazowo czemu tak sie dzieje:
echo '<table border="1">'; for($a=1; $a<=10; $a++)
{
for($b=1; $b<=10; $b++)
{
if(($a==1)||($b==1))
{
echo '<td bgcolor="red">a='.$a.',b='.$b.'<br />'.$a.'*'.$b.'='.$a*$b.'</td>'; }
else
{
echo '<td>a='.$a.',b='.$b.'<br />'.$a.'*'.$b.'='.$a*$b.'</td>'; }
}
}