Если это когда-либо обсуждалось ранее, простите меня, я новичок.Поведение странного состояния в петле foreach PHP
Итак, у меня возникли проблемы с очень странным поведением условия IF в PHP.
Скажем, у меня есть этот код:
$userPhotosArray = ([0] => Array(<more values>),
[1] => Array(<more values>));
print("<table>");
foreach ($userPhotosArray as $index => $photoInfo) {
$ind = $index % 3;
if ($ind == 0)
print("<tr>");
print("<td>");
print_r($photoInfo);
print("</td>");
if ($ind == 0)
print("</tr>");
}
print("</table>");
Так что этот код выше вывод должен только один ряд, но то, что он делает это выводит 2 строки.
Даже если я var_dump значение $ ind it's o.k. (с первой итерацией это (int) 1, second (int) 0). Даже когда я бросил его на bool и попробовал снова var_dump, он по-прежнему o.k. ((bool) true, (bool) false). Но в условиях ЕС это странно, когда каждый раз, когда он, кажется, возвращает true. Любые мнения по этому поводу? Рекомендации?
ли '$ someArray' должен быть' $ userPhotosArray'? Он не используется в этом коде, и он немного запутан. –
Отлично! Теперь посмотрим ... :) –
@Emissary no, тот же снова. var_dump показывает (int) 0, (int) 1. – MichaelOne