Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: останавливается выполнение кода.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
razerw
Отправлено: 15 Июля, 2013 - 09:24:14
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июль 2013  


Помог: 0 раз(а)




есть функция в которой имеется цикл while в этом условии происходит вызов другой функции которая находится в другом файлике, на этом цикл while останавливается и действие начинает происходить в той функции которую я вызвал, а мне нужно что цикл продолжался не дожидаясь того когда завершиться действие в вызванной функции.
 
 Top
OrmaJever Модератор
Отправлено: 15 Июля, 2013 - 09:30:20
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




это невозможно, php однопоточный и выполняется всё по очереди, темболее как я понял от результата функции зависит будет цикл продолжатся или закончится.
Вам нужно просто пересмотреть логику, цикла и функции и всего вместе, я уверен всё можно переписать по другому.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Stierus Супермодератор
Отправлено: 15 Июля, 2013 - 09:31:47
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




 
My status
 Top
razerw
Отправлено: 15 Июля, 2013 - 09:54:26
Post Id


Новичок


Покинул форум
Сообщений всего: 4
Дата рег-ции: Июль 2013  


Помог: 0 раз(а)




OrmaJever пишет:
это невозможно, php однопоточный и выполняется всё по очереди, темболее как я понял от результата функции зависит будет цикл продолжатся или закончится.
Вам нужно просто пересмотреть логику, цикла и функции и всего вместе, я уверен всё можно переписать по другому.


Ну хорошо, я сделал так из цикла я вызваю функцию в другом файле, в той функции просто записываю в массив данные, потом отдельно запускаю скрипт который находится в файле вместе с массивом. и скрипт не видит все что записывается в массив.
 
 Top
asmc
Отправлено: 18 Июля, 2013 - 16:59:59
Post Id


Новичок


Покинул форум
Сообщений всего: 12
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




Здравствуйте.

Пока не завершится действие в вызванной функции, цикл while не будет знать, что ему делать, по-этому он ее и ждет.

razerw пишет:
отдельно запускаю скрипт


По-подробнее, как это "отдельно запускаю"? По идее все файлы с "include", "require" и т.д. собираются в месте и прогоняются 1 раз. А что, собственно, в цикле while происходит с результатами вызова функции? Можно ли разные действия разнести в разные циклы, которые останавливаются независимо друг от друга, например?

А вообще хорошо бы посмотреть коды для определения способов требуемого рефакторинга кода.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB