У меня не работает while. Я уже долгое время проверяю и все сводится к тому, что:
- Есть пременная $ lig. Ее значение получается из того что я считаю количество ячеек массива $ nou. Тут все впорядке. (Должно быть 5, так и получается)
- Есть переменная $ f. Она выводит из цикла. Она не работает. Почему-то вместо тех 5ти раз, которые она должна отработать работает только 2.
Вопрос: сам я дурак или что-то с программой не так?
Не работующий отрывок:
$ file = 'Data/Users/'.$ _COOKIE['id'].'/chats.txt'; $ f = fopen($ file, 'r'); $ arr = file($ file); $ nou = $ arr; fclose($ f); $ lig = count($ nou); $ f = 0; $ r = 0; while($ f <= $ lig){ $ n = trim($ nou[$ f]); $ file = 'Data/Messages/Chats/'.$ n.'/user_in.txt'; $ f = fopen($ file, 'r'); $ k = file($ file); fclose($ f); if($ _GET['id'] === trim($ k['0'])){ $ r = 1; } else{ if($ _GET['id'] === trim($ k['1'])){ $ r = 1; } } if($ r === 1){ $ i = $ n; } $ f++; }
$ r после этого применяется так: Есть if, который создает новый чат, если $ r = 0, а если = 1 – пропускает.