Всем привет, вот учебный код
$row = 1;
$handle = fopen("book.csv", "r");
while (($data = fgetcsv($handle, 1000, ";")) !==FALSE){
// Кол-во полей в строке
$num = count($data);
echo "<p> $num полей в строке $row:<br/></p>\n";
$row++;
for ($c=0; $c < $num; $c++){
echo $data[$c] . "<br/>\n";
}
}
fclose($handle);
Объясните почему, за счет чего указатель переходит на следующую строку в файле. не врубаюсь while Это же не foreach. почему при каждом цикле while указатель смещается на следующую строку файла?
1. alecs - 15 Ноября, 2017 - 13:34:18 - перейти к сообщению
2. Строитель - 15 Ноября, 2017 - 15:13:41 - перейти к сообщению
alecs пишет:
Собственно while тут не при чём, он просто выполняется, если результат выражения в его скобках не равен false. Указатель в данном примере смещается функцией fgetcsv(), именно она читает построчно файл, возвращает либо массив либо false, и перемещает указатель.почему при каждом цикле while указатель смещается на следующую строку файла?
Чтобы понятнее было, как работает while, напишите пример по проще. Например, этот пример вам понятен?
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $i = 1;
- while ($i <= 10) {
- echo $i++; /* выводится будет значение переменной
- $i перед её увеличением
- (post-increment) */
- }