Оператор SWITCH в PHP

Cегодня мы рассмотрим такой логический оператор, как switch в PHP. Что же это за логический оператор и как он работает. Давайте разбираться…

Криптовалюта и майнинг. Что такое майнинг? Узнать это вы можете в интересном видео по ссылке https://www.youtube.com/watch?v=SOVXa2BNoIU .

И для начала посмотрим вот на этот код:

< ?php $ number = 2; if($number == 1) echo "Один"; elseif($number == 2) echo "Два"; elseif($number == 3) echo "Три"; elseif($number == 4) echo "Четыре"; elseif($number == 5) echo "Пять"; elseif($number == 6) echo "Шесть"; elseif($number == 7) echo "Семь"; else echo "Нет такого числа"; ?>

И так, в этом коде все правильно и со стороны программирования, и со стороны синтаксиса. Кстати, многие так и пишут. Однако, есть такое понятие как комильфо. Так вот — это не комильфо. Почему? Ну вот смотрите, здесь у нас проверяется ровно одна переменная. Чем хорош оператор if — тем что можно проверять много условий, например так как у нас было с магазином — если магазин открыт, если у меня есть деньги и т.д. Вот здесь оператору if-else самое место.

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

На самом деле эти операторы идентичны. Многие люди, например никогда не используют switch в PHP, а пользуются только if-else и наоборот. Опять же, все зависит от вашего предпочтения и предпочтения того, с помощью чего вы готовы решать ту или иную задачу. Я, например, когда мне нужно проверить одну переменную, всегда использую конструкцию switch. Мне он кажется наиболее удобным для решения подобных задач.

И так, как же записывается конструкция switch в PHP? Давайте смотреть:

< ?php $number = 2; // В переменной $a есть какое-то число и нам нужно его проверить и в зависимости от этого числа что-то сделать. // Открываем конструкцию switch и в круглых скобках записываем нашу переменную switch($number){ // В фигурных скобках у нас идет проверка этой переменной с помощью case case 1: echo "Первый день - понедельник"; break; case 2: echo "Второй день - вторник"; break; case 3: echo "Третий день - среда"; break; case 4: echo "Четвертый день - четверг"; break; case 5: echo "Пятый день - пятница"; break; case 6: echo "Шестой день - суббота"; break; case 7: echo "Седьмой день - воскресенье"; break; // Если не одно число не совпадает, пишем его в default default: echo "Неизвестное число"; } ?>

Обращаю ваше внимание на оператор break в конце каждого echo. Для чего он нужен? Если вы уберете этот оператор, то посмотрите что у вас выведется в браузер. А выведется следующее: Второй день — вторник Третий день — среда Четвертый день — четверг Пятый день — пятница Шестой день — суббота Седьмой день — воскресенье Неизвестное число. Почему так происходит? Дело в том, что PHP, когда увидит что произошло совпадение, т.е. он смотрит case 1 — не совпало, case 2 — совпало и он начинает выводить все оставшиеся выражения не обращая внимания на другие case, как будто их не существует. Оператор break выбрасывает нас из switch, когда произошло совпадение и выполняет то, что произошло при совпадении — в данном случает в браузер выводится «Вторник». Так же считается, что оператор break не обязателен и если вам действительно нужно, например вывести в браузер все что идет после совпадения вместе с самим совпадением, то оператор break можно не записывать. Далее мы разберем отсутствующий break на примере, где он действительно будет не нужен.

Итак, давайте сделаем небольшую лабораторную работу, где мы напишем действительно нужный код, не вымышленный, а очень даже полезный. В конце урока, я выложу видео с этой лабораторкой, где можно будет посмотреть практически «живую» реализацию реальной задачи.

Приходит к нам заказчик и хочет кусок кода, который будет брать значение директивы POST_MAX_SIZE и выводить это значение в байтах.

По умолчанию в этой директиве значение хранится в мегабайтах и оно равно 8. Вообще эта директива отвечает за то, сколько, вернее какой объем данных можно отправить input-ом.

Наш код должен быть универсальным, т.к. он будет работать под разными хостингами, а у них эта директива разная

Прежде чем приступить к выполнению этого задания, необходимо разъяснить два вопроса:

какая функция возвращает значение любой директивы PHP?
какие допустимые значения там могут быть

Итак:

функция с помощью которой можно получить любое значение из директивы PHP называется ini_get(‘имя директивы’). Обратите внимание, что эта функция всегда возвращает строку, что бы не находилось в директивах.
там может лежать одно из четырех значений:
цифра и буква М — мегабайты (8М)
цифра и буква К — килобайты (256К)
цифра и буква G — гигобайты (1G)
просто число без букв — 123456, что означает просто байты

Вот сам код:

< ?php $max_size = ini_get('post_max_size'); // 8М $letter = $max_size{strlen($max_size) - 1}; // M $max_size = (int)$max_size; // 8 switch($letter){ case 'G': $max_size *= 1024; case 'M': $max_size *= 1024; case 'K': $max_size *= 1024; } echo 'POST_MAX_SIZE = ' .$max_size. ' байт'; ?>

Цікаве по темі посту, варто подивитись

  • Банк обанкротился! Что делать должнику? Из-за сложившегося в результате мирового финансового кризиса непростого экономического положения практически во всех странах мира, тысячам вкладчиков различных банков пришлось пережить […]
  • Самые красивые пляжи мира Пляжей на планете великое множество. Но какие считать лучшими? Уверен, многие путешественники могут составить свои TOP 10, но я хотел бы вам представить на суд лучшие пляжи мира по версии […]
  • Ремонт металлических оград. Естественные причины и, конечно же, любимое занятие наших детей кататься на заборах, все это приводит к расшатыванию столбов и провисанию сетки. Аркадий Ковальчук - настоящий мастер […]
  • Вопросы правового характера В нашем государстве образуется много организаций, помогающих людям в рассмотрении вопросов правового характера. На телевидении можно увидеть программы, в которых решаются различные […]
  • Покупка мебели через Интернет. Число различных покупок, совершаемых через глобальную сеть довольно масштабно. Что же касается развития мебельного рынка в Интернете, на сегодняшний день мы наблюдаем странную тенденцию: […]
  • Профилактика и ТО Регулярно проводимое профилактическое обслуживание автомобиль, гарантируя бесперебойное функционирование отдельных компонентов, продлевает его эксплуатационный срок в настоящее время. […]
  • Как подобрать оборудование для винного погреба? Для начала нужно определиться, что именно Вы хотите. Если для длительного хранения, при объёмах помещения от 10 до 40 куб.метров, то можно установить сплит-систему или климатическую дверь. […]
  • Лизинг – новый термин, открывающий неограниченные возможности Популярность лизинговых услуг с каждым годом становится все более очевидной. Однако только единицы могут объяснить, в чем заключается особенность данных услуг и что они представляют из […]
  • Качественная детская одежда оптом Каждые родителя стараются дать своим детям все самое лучшее и качественное. Покупают хорошие продукты, учат и воспитают ребенка здоровым и умным. Но дети быстро растут и им всегда нужна […]
  • Допинг в спорте В ХХI веке спортсмены не редко достигают высоких результатов благодаря использованию запрещенных препаратов, а не собственной упорному труду. Это обусловлено быстрым развитием медицины и […]
  • Аренда авто во Львове: по городу и окрестностям с комфортом Львов — удивительно красивый город Западной Украины, история которого началась в XIII веке благодаря князю Даниилу Галицкому. Дома со старинной архитектурой, множество храмов, уютные […]
  • Google adsense или хороший заработок для вебмастера Доброго времени суток дорогие друзья. Я около 2 недель отсутствовал на блоге и теперь у меня для вас, читателей, накопилось много нового, интересного материала. Сегодня мы поговорим о […]
  • Забор из досок своими руками. Доски для обшивки должны быть все одинакового размера. При их креплении нужно помнить о том, что между нижней доской и землей должен быть зазор не менее 10 сантиметров, иначе они будут […]
  • Перевод Одним из самых необходимых знаний в области современного делопроизводства является знание английского языка. Это характеризуется тем, что во многих ситуациях деловой перевод английский […]
  • Живописные горные маршруты Не так давно мы говорили о городах призраках, лучших пляжах, интересных трамвайных и подземных маршрутах. Сегодня же мы отправимся в горы, прекрасные и опасные. Итак, самые интересные […]
  • Лучшие санатории Белоруссии Лучшие санатории Белоруссии Самые лучшие санатории Белоруссии располагаются в живописных местах, среди озёр и сосновых боров. Благодаря климату, практически все здравницы работают круглый […]
  • Особенности гостиничной постели Итак, вы решились на собственный гостиничный бизнес, или уже давно являетесь хозяином отеля, гостиничного дома, или попросту сдаете комнаты постояльцам.Те, кто уже давно занимаются […]
  • Электронные платежи — удобство и экономия Современному человеку больше нет необходимости тратить время, силы и нервы на проведение платежей в банках и кассах. Рассчитаться за различные товары и услуги теперь можно быстро, не […]
  • CARDSHARING-SERVER — смотрите лучшие спутниковые каналы Кем бы Вы ни были, любой вечер прибывая домой, Вы присаживаетесь поудобней вна ваш любимый диван, и включаете собственный возлюбленный TV канал. Будь это кино, спорт, новости, телесериалы, […]
  • Лучший хостинг от BYTES.UA Вы все еще ищите хороший и не дорогой хостинг - лучшее предложение смотрите на https://bytes.ua. Приобретая виртуальный хостинг у bytes.ua, Вы получаете качественный хостинг сервис по […]
Комментирование и размещение ссылок запрещено.

Комментарии закрыты.