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 (по материалам форума PHP.SU)" [3]
Покинул форум
Сообщений всего: 2751
Дата рег-ции: Июль 2010 Откуда: Даугавпилс, Латвия
Помог: 52 раз(а)
Lovelass пишет:
блин ну насколько я тупой но тупее думал нету
Правильно думал. Lovelass это ты учишь как делать надо или так написал от нечего делать? Нельзя научить тому, чего сам не знаешь.
Mefistofel
Отправлено: 02 Мая, 2012 - 06:56:44
Частый гость
Покинул форум
Сообщений всего: 172
Дата рег-ции: Апр. 2012 Откуда: Россия
Помог: 0 раз(а)
LIME пишет:
уясни хоть так сначала
Вроде как уяснил=) Написал несколько примеров с разными числовыми значениями - теперь все понятно, спасибо.
________________________________ _____________
Следующий вопрос.
При помощи опреатора IF я определяю значение false или true.
Если я задаю несколько вариантов для обработки данных оператором elseif, то функция становится намного шире - появляется возможность обрабатывать больше данных и выдавать больше результатов - это ясно. Но как быть с "быстрым способом"?
Как указано в примере урока, определить правду и ложь можно так:
$result=$sName=="Медведев"?"пока еще президент":($sName=="Путин"?"Президент все-еще Дмитрий Анатоьевич Медведев":($sName=="Владимир"?"Он еще инаугурацию не прошел":"Ему вообще не светит стать президентом"));
----- Чем короче и понятней код, тем ты нужнее народу
Okula
Отправлено: 02 Мая, 2012 - 07:25:13
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
Mefistofel пишет:
о как быть с "быстрым способом"?
Это не быстрый способ, а тернврный оператор.
Mefistofel пишет:
А как мне записать в этом способе еще одного оператора elseif?
Никак. Конструкция if..elseif..else выполняется последовательно и если одно из условий выполняется то выполнение конструкция прервётся на том месте где выполнилось условие.
Использую тернарный оператор ты проверяешь выполнение всех условий и если выполнится какое-либо из вышестроящих выполнение остальных не прервётся и выполнится тоже.
Выполнение тернарного оператора эквивалентно конструкции if..else, но никак не if..elseif..else
Mefistofel пишет:
Как мне в "быстрый" вариант добавить обработку переменных "Путин" и "Владимир"?
(Добавление)
Или так?
Можно конечно пихать последующие условия в блок где невыполняется предыдущее, но это будет некрасива и плохо читаемо.
Лучше использовать конструкцию if..elseif..else
Не нужно зацикливаться на тернарном операторе.
Mefistofel
Отправлено: 02 Мая, 2012 - 07:34:26
Частый гость
Покинул форум
Сообщений всего: 172
Дата рег-ции: Апр. 2012 Откуда: Россия
Помог: 0 раз(а)
Okula пишет:
Использую тернарный оператор ты проверяешь выполнение всех условий и если выполнится какое-либо из вышестроящих выполнение остальных не прервётся и выполнится тоже.
А есть ли команда, которая искусственно прерывает выполнение опреции, тапа "break"?
Okula пишет:
Выполнение тернарного оператора эквивалентно конструкции if..else, но никак не if..elseif..else
Ясно, значит только на 2 варианта - либо Медведев, либо иначе.
Okula пишет:
Не нужно зацикливаться на тернарном операторе.
Это просто урок =) Мне хочется попробовать все.
Спасибо за разъяснение.
----- Чем короче и понятней код, тем ты нужнее народу
armancho7777777
Отправлено: 02 Мая, 2012 - 07:49:36
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Okula пишет:
Никак.
Смелое утверждение))
Откуда такая уверенность?)
Если Вы не знаете как это сделать, - ещё не значит, что этого сделать невозможно)))
И не вводите людей в заблуждение. Тернарные операторы: множественные условия))
$result=($sName=='Медведев') ? 'пока еще президент':(
($sName=='Путин') ? 'Президент все-еще Дмитрий Анатоьевич Медведев':(
($sName=='Владимир') ? 'Он еще инаугурацию не прошел':'Ему вообще не светит стать президентом'));
Получается что переменная $result читает построчно все варианты значений в скобках (чисто гипотетически, в скобках значения под опреатором if) и возвращает значение в зависимости оттого, соответствует введеный параметр одному из значений переменной $sName или нет... Так?
А что произойдет все-таки в том варианте, что я написал, не взяв в скобки первое значение переменной?:
$result=$sName=="Медведев"?"пока еще президент":($sName=="Путин"?"Президент все-еще Дмитрий Анатоьевич Медведев":($sName=="Владимир"?"Он еще инаугурацию не прошел":"Ему вообще не светит стать президентом"));
?>
(Добавление) armancho7777777, спасибо за дополнение - все становится светлее и прозрачнее))
($sName=='Путин') ? 'Президент все-еще Дмитрий Анатоьевич Медведев':(
($sName=='Владимир') ? 'Он еще инаугурацию не прошел':'Ему вообще не светит стать президентом'));
Mefistofel пишет:
А что произойдет все-таки в том варианте, что я написал, не взяв в скобки первое значение переменной?:
Всё так же и сработает, но читабельность кода не в лучшую сторону.
Mefistofel
Отправлено: 02 Мая, 2012 - 08:42:22
Частый гость
Покинул форум
Сообщений всего: 172
Дата рег-ции: Апр. 2012 Откуда: Россия
Помог: 0 раз(а)
armancho7777777 пишет:
Можно сразу вывести, без присваивания:
Просто предельно ясо теперь. Ура.
armancho7777777 пишет:
Всё так же и сработает, но читабельность кода не в лучшую сторону.
Меня радует, что работает) А вот над красивостью пока еще сложно работать, но буду стараться.
Существуют ли в свободном доступе коды полей ввода или что-то подобное, чтобы я мог проверять все, что пишу на работоспособность? Например, код HTML + PHP, который выдаст одно окно с полем для ввода данных, куда бы я мог вбивать значения и смотреть результаты? (Добавление)
Сам написать пока еще не в состоянии, но пользоваться уже хочется для обучения. (Добавление)
Сам написать пока еще не в состоянии, но пользоваться уже хочется для обучения.
----- Чем короче и понятней код, тем ты нужнее народу
armancho7777777
Отправлено: 02 Мая, 2012 - 08:45:41
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Зачем?
У Вас не стоит локальный сервер?
PHP интерпретатор и так выдаст все ошибки, которые Вы допустите.
Mefistofel
Отправлено: 02 Мая, 2012 - 08:47:04
Частый гость
Покинул форум
Сообщений всего: 172
Дата рег-ции: Апр. 2012 Откуда: Россия
Помог: 0 раз(а)
armancho7777777 пишет:
У Вас не стоит локальный сервер?
Дэнвер...
Я ошибки читать пока не умею... Ну, не все.
----- Чем короче и понятней код, тем ты нужнее народу
armancho7777777
Отправлено: 02 Мая, 2012 - 08:47:55
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Mefistofel пишет:
Меня радует, что работает) А вот над красивостью пока еще сложно работать, но буду стараться.
Это должно быть нужно в первую очередь Вам.
Что бы через пол года Вы могли открыть код и прочесть его не запутавшись в нём. (Добавление)
Mefistofel пишет:
Дэнвер...
Ну и вот.
Создайте пустой php файл (страницу) и тестируйте код.
Mefistofel
Отправлено: 02 Мая, 2012 - 08:51:30
Частый гость
Покинул форум
Сообщений всего: 172
Дата рег-ции: Апр. 2012 Откуда: Россия
Помог: 0 раз(а)
если даже взять к примеру последний код с президентами...
Покинул форум
Сообщений всего: 172
Дата рег-ции: Апр. 2012 Откуда: Россия
Помог: 0 раз(а)
armancho7777777 пишет:
)) Да Вы в начале этого кода присвойте значение переменной, да й всё))
Да, конечно, но в этом сучае просто пропадает весь кайф написания кода - если я введу одно значение - я точно буду знать, какой результат получу.... Он рядом в исходном коде будет мною же и прописан)) Хочется наблюдать, как это происходит со стороны пользователя - создать ножество переменных и огромную укучу условий ... Потом просто проверять. Я вот на этом сайте скачал антимат... Что за иероглифы я там увидел - не понять вообще... Должен был получиться php код, но я кракозябру увидел (неизвестного происхождения)... Вот и написал бы простейшую программу по принципа антимата... подмена значений, условия разные... Вобщем, чтобы видеть все наглядно...Вот как-то так!)
----- Чем короче и понятней код, тем ты нужнее народу
armancho7777777
Отправлено: 02 Мая, 2012 - 09:02:10
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.