Я понимаю, что это немного сложно, у меня были проблемы с пониманием, когда я впервые начал использовать его. Чем больше вы его используете, тем больше в этом смысла.
Ваш массив будет выглядеть так:
// "key" "value"
// | |
// V V
$row['1'] = 'item1';
$row['2'] = 'item2';
$row['3'] = 'item3';
$row['4'] = 'item4';
Ключи могут быть чем угодно, они не должны быть числами. Таким образом, вы можете перебирать все элементы в массиве без необходимости знать ключ!
Итак, ваш первый пример можно объяснить следующим образом:
// +--- The ARRAY where all of your data is
// |
// | +----- The KEY to access that element of the array
// | |
// | | +----- The VALUE of that element
// | | |
// V V V
foreach ($row as $key => $value){
if($row[$key] == $value){ // this statement is always true
echo "true AGAIN!"; // and thus will always print this line
}
}
Насколько я понимаю, =>
на самом деле не является своего рода операндом, он просто используется для завершения структуры цикла foreach
.