Foreach, ma następującą definicję:
foreach($table as $value);
// lub
foreach($table as $key => $value);
Wyłożę to łopatologicznie dla Twojego wcześniejszego przykładu:
$tablica_name = array('wiek', 'ile_filmow'); $tablica_text = array('wiek_użytkownika', 'liczba filmów');
foreach($tablica_name as $key => $ar){
$_POST[$tablica_name[$ar]] = $_POST[$tablica_name[$ar]];
}else {echo 'Pole <b>'.$tablica_text[$ar].'</b> powinno mieć wartość liczbową';} }
1 obrót pętli:
- $key przyjmuje wartość 0
- $ar przyjmuje wartość 'wiek'
2 obrót pętli:
- $key przyjmuje wartość 1
- $ar przyjmuje wartość 'ile_filmow'
Tak więc:
- is_numeric($_POST[$tablica_name[$ar]]), zawsze będzie false, bo $tablica_name[wiek] oraz $tablica_name[ile_filmow] nie istnieje
- to samo się tyczy $tablica_text[$ar], dla tej tablicy, takie indeksy również nie istnieją