![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Как я понял вот так делать нельзя...
Какие есть другие способы "кратко" прервать интерацию цикла, если исползуеться оператор "?"? Это сообщение отредактировал(а) BuShaRt - 8.11.2007, 13:05 |
|||
|
||||
vasac |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: 8 Всего: 36 |
Использовать IF
|
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
vasac, Гениально
![]() Ключевое слово было КРАТКО, мне массивная структура некчему, когда кол-во строк под 1000 |
|||
|
||||
flashaa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Тернарный оператор не совсем краткий If, т.к. общий синтаксис его $var = (<условие>) ? <expr1> : <expr2>;
таким образом он присваивает результат своего выполнения. Поэтому, думаю инструкции в нем неприменимы, так же как и невозможно написать $var = break; Это сообщение отредактировал(а) flashaa - 8.11.2007, 14:30 |
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
flashaa,
Не совсем так...
Вполне работает |
|||
|
||||
flashaa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
Не вижу противоречий, print - функция, она возращает значение (всегда единичку). break же является просто командой интерпретатору, которая ничего не возвращает.
Подставьте вместо print echo, которая функцией не явялется и получите сообщение об ошибке. |
|||
|
||||
BuShaRt |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
flashaa,
Да, действительно - вы правы. Предположив, что нужно возращать TRUE, сделал так
В итоге Fatal error: Cannot break/continue 1 level in z:\home\newsystem\www\it\index.php on line 6 |
|||
|
||||
GZep |
|
||||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 8 Всего: 32 |
можно так:
а что делает break в функции? Добавлено через 1 минуту и 24 секунды BuShaRt, если хотите воткнуть break в такую конструкцию, то получится это сделать только с помощью eval, что не будет кратким решением. -------------------- ![]() ![]() |
||||
|
|||||
flashaa |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 19 Всего: 25 |
По-моему и первое и второе уже больше if () {} ![]() А eval() штука довольно-таки тормозная к тому же. Хотя если она выполняется 1 раз, думаю, особо много задержки не будет. BuShaRt, вы используете ООП? Если нет, то вам оно судя по 2000 строк кода то, что доктор прописал. Короткий if приятен конечно из-за своих размеров, но к сожалению, читать его сходу достаточно сложно, а если ещё для него приходится изваращаться, уж лучше по-моему написать if все-таки ![]() |
|||
|
||||
BuShaRt |
|
||||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
Да, согласен, Eval вовсе не вариант. Функция пишеться 1 раз и юзаеться потом постоянно.
Не поверите, у меня класс состоит из такого кол-ва строк ![]()
Да нет, мне ручками побегать по клавиатуре не лень, мне как раз потом читать проще код, когда нету сложны конструкций из if-ов. А в целом я понял - задача нереализуемая, учитывая мои пожелания и рациональность, всем спасибо, будем переигрывать с участием IF. |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |