Оператор 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. ' байт'; ?>

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

  • Как разговаривать с начальником Если вы – один из тех людей, которые хотят построить успешную карьеру, то хорошо понимаете, что ваш профессиональный рост в значительной степени зависит от того, как вы построите свои […]
  • Как лечить острый бронхит Лечение острого бронхита должно быть комплексное. В него входит терапия медикаментами для ликвидации кашля и восстановления функции дыхательной системы, применение народных средств, массаж […]
  • Липосомы и гормоны Группа исследователей в течение 10 лет вводила пациентам, страдающим болезнью Гоше, липосомы с заключенными в них ферментами (р-глюкоцереброзидазой). Данный вид заместительной […]
  • Не навреди ребенку Каждому из нас хочется, чтобы наш ребенок был самым умным, самым талантливым, самым успешным, самым здоровым... И, пытаясь помочь отпрыску стать именно таким, мы штудируем горы литературы […]
  • Правовые коллизии вокруг дачных заборов Как правило, соседи по дачным участкам в садоводческих товариществах хорошо друг друга знают и поддерживают между собой добрые отношения. Сближает их любовь к садоводству, схожие проблемы […]
  • Расширители арок Расширители арок – это специальные дугообразные пластиковые накладки, которые уменьшают степень забрызгивания автомобиля во время движения по пересеченной местности. Наибольшей […]
  • Интересное о заборах Олимпийцы под током На только что завершившихся Олимпийских играх в Лондоне была организована беспрецедентная многоуровневая система безопасности. Были задействованы многочисленные силы […]
  • Проектирование малоэтажных домов На сегодняшний день существует множество компаний, занимающихся разработкой малоэтажных проектов, а также, предлагающие разнообразные сопутствующие услуги. Ведь проектирование малоэтажных […]
  • Почему разрушаются опоры для заборов? Существует мнение, что установка забора для дачи – дело пустяковое. Если так, тогда почему заборы, построенные своими руками, часто разрушаются, не пережив даже первую зимовку? Главная […]
  • Прокат генератора круглосуточно Энергетические мощности нужны вам только на время? Вам необходимо вести работы в местности, где хотя и присутствует возможность подключения к общим электросетям, но свойства подаваемого […]
  • Солнце, пляж и море — это Берег мечты Торревьехи Побережье Торревьехи отличается большой протяжённостью. Это около 14 км морского побережья с многочисленными пляжами и бухтами, где можно освежиться и расслабиться. Некоторые из них […]
  • Хочу свой дом! Часто в передачах по телевидению показывают роскошные частные дома, где каждый его уголок дышит роскошью и богатством. Если над интерьером дома поработал дизайнер, то действительно, каждый […]
  • Межкомнатные двери: правила выбора До свершения покупки такого устройства, как межкомнатная дверь, необходимо определить требования, которые к ней будут предъявляться: конструкция, размеры, материал, вариант открывания и […]
  • Качественные запчасти к японским автомобилям Как ни печально, но каждый автомобиль, даже самый дорогой бывает ломается. И тут приходит время выбора и покупки новых засных частей. Кто-то ищет подешевле, кто-то ищет только […]
  • Как правильно рассчитать лестницу О строительстве лестницы следует думать уже на этапе проектирования. А при надстройке к дому мансардного этажа – в обязательном порядке задуматься о том, как в нижнее помещение впишется […]
  • Методы обезболивания родового процесса. Эпидуральная анестезия С незапамятных времен у всех народов прослеживается стремление побороть родовую боль и облегчить страдания женщины во время родов. В Индии в далеком прошлом […]
  • Як привчити дитину до рукоділля Деколи як би буває нелегко залучити дітей до рукоділля, однак особливо для дівчат це вельми корисна й важлива справа. Всім відомо про те, що рукоділля вчить терпінню, працьовитості, у […]
  • Вопросы, которые необходимо задать при выборе роддома. Обзванивая родильные дома (делать это начните с 20-25 недели беременности, чтобы вы могли определиться с суммой, которая, возможно, понадобится; кроме того, в некоторых местах обязательным […]
  • Как продлить жизнь деревянному забору Более, чем 40 лет назад в городе Ханнибал американского штата Иллинойс был учрежден праздник, посвященный земляку жителей городка Марку Твену, который называется «Национальные дни Тома […]
  • Чего хотят мужчины, или какой ты должны быть Чего хотят мужчины, и о чем они думают? Об этом задумывается каждая женщина. При виде привлекательного мужчины они начинают думать, как я выгляжу, обратит ли он на меня внимание, а если […]
Комментирование и размещение ссылок запрещено.

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