Forum Webscript.Ru

Программирование => PHP => Тема начата: =Женек= от 03 Марта 2003, 07:52:11

Название: Проблема
Отправлено: =Женек= от 03 Марта 2003, 07:52:11
Такая вот конструкция
$filename="users.txt";
$s=file($filename);


for ($i=0;$i<14;$i++){
list($_ID,$_login,$_password,$_email) = split(\':\', $s[$i]);
if ($_ID==$ddd) {$mail=$_email;}
print $_ID;
}


fclose ($array);



При запуске с сервера пишет что max_execution_time>10
и не выдает результатов. При запуске с винта - он секунды 2 активно трещит, хотя в файле всего 14 коротких строк.

Я убираю цикл For - винт перестает трещать, а скрипт исполняется быстро. Почему? Ведь в For нет операторов чтения с диска или сверхсложной задачи.
 Может я нерационально написал?
Название: Проблема
Отправлено: Maniac от 03 Марта 2003, 14:49:03
Может, у тебя файл большой?
Название: Проблема
Отправлено: =Женек= от 03 Марта 2003, 14:51:44
Ни фига!!! там 14 строк по 20 символов.
Я думал что может застряет где - вставил строку print $i -
только 14 итераций - не больше.
Название: Проблема
Отправлено: MrGreeN от 05 Марта 2003, 17:30:58
А когда чего-то типа while
Такие-же проблемы?
Название: Проблема
Отправлено: =Женек= от 05 Марта 2003, 18:31:46
Точнро такие. КОгда while пустой - все нормально..
Название: Проблема
Отправлено: FreeSpace от 10 Марта 2003, 00:47:09
Цитировать
=Женек=:
fclose ($array);

А это здесь зачем?
Название: Проблема
Отправлено: ThE0ReTiC от 10 Марта 2003, 01:33:01
=Женек=
попробуй explode вместо split
и вместо 14 поставь sizeof($s) - так будет правильней...