Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выражения вместо значения, в switch
 
 автор: Grizzly   (03.03.2015 в 20:53)   письмо автору
 
 

Доброго времени суток! Можно ли использовать вместо значения в операторе switch, выражение?
Например вместо:
<?php
header
("Content-Type: text/html; charset=utf-8");
$day 10;
switch(
$day){
case 
1:
case 
2:
case 
3:
case 
4:
case 
5: echo "Рабочие будни"; break;
case 
6:
case 
7: echo "Выходные";    break;
default: echo 
"Неизвестные данные";
}
?>


Написать:
<?php
header
("Content-Type: text/html; charset=utf-8");
$day 1;
switch(
$day){
case 
1<=$day and $day<=5: echo "Рабочие будни"; break;
case 
$day==or $day==7: echo "Выходные"; break;
default: echo 
"Неизвестные данные";
}
?>

В принципе всё работает, но насколько это правильно?

  Ответить  
 
 автор: confirm   (04.03.2015 в 07:21)   письмо автору
 
   для: Grizzly   (03.03.2015 в 20:53)
 

Можно - в операторе switch выражение выполняется один раз, а вот, к примеру, в цикле for, использовать выражение вторым его параметром не лучшее решение, ибо при каждой итерации цикла это выражение будет вычисляться вновь. То же самое будет происходить и при условиях - каждый раз будет вычисляться это выражение.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования