﻿<h1 class=p1>Операторы выбора/ Переключатель switch</h1>
<p class=text>
Переключатель <em class=gr>switch</em> является наиболее удобным средством для организации 
мультиветвления. Синтаксис переключателя таков:
</p>
<blockquote>
<pre>
<em class=gr>switch</em>(<b>expression</b>) // <em class=comnt>переключающее выражение</em>
<em class=gr>{</em>
   <em class=gr>case</em> <b>value1</b>: // <em class=comnt>константное выражение 1</em>
      <b>statements</b>; // блок операторов
   <em class=gr>break</em>;
   <em class=gr>case</em> <b>value2</b>: // <em class=comnt>константное выражение 2</em>
      <b>statements</b>;
   <em class=gr>break</em>;
   <em class=gr>default</em>:        
      <b>statements</b>;
<em class=gr>}</em>
</pre>
</blockquote>
<p class=text>
 Управляющая структура <em class=gr>switch</em> передает управление тому из помеченных <em class=gr>case</em> операторов, для которого значение константного выражения совпадает со значением переключающего выражения. Если значение переключающего выражения не совпадает ни с одним из константных выражений, то выполняется переход к оператору, помеченному меткой <em class=gr>default</em>. В каждом переключателе может быть не более одной метки <em class=gr>default</em>, однако она может отсутствовать вообще. Приведем пример программы с переключателем. В этой программе выводятся названия нечетных целых десятичных цифр от 1 до 9 не меньше заданной, в зависимости от числа, указанного в форме <b>test.html</b>. Форма <b>test.html</b> не отличается от той, что мы уже использовали:  
</p>
<pre>
&lt;<b>form</b> action = <em class=bluelink>"http://localhost/PHP/chapt2/switch.php"</em> method="<b>get</b>"&gt;
    number: &lt;<b>input</b> type="<b>text</b>" name="<b>number</b>"/&gt;&lt;br&gt;
    &lt;<b>input</b> type="<b>submit</b>"<b>/</b>&gt;
&lt;<b>/form</b>&gt;  
</pre
>
<blockquote>
<pre>
<em class=red>&lt;?</em>
<em class=gr>switch</em>(<b>$number</b>)
<em class=gr>{</em>
    <em class=gr>case</em> 1:
      <em class=gr>echo</em> ("<b>one</b> ");
    <em class=gr>case</em> 2: <em class=gr>case</em> 3:
      <em class=gr>echo</em> ("<b>free</b>");
    <em class=gr>case</em> 4: <em class=gr>case</em> 5:
      <em class=gr>echo</em> ("<b>five</b>");
    <em class=gr>case</em> 6: <em class=gr>case</em> 7:
      <em class=gr>echo</em> ("<b>seven</b>");
    <em class=gr>case</em> 8: <em class=gr>case</em> 9:
      <em class=gr>echo</em> ("<b>nine</b>");
    <em class=gr>break</em>;
    <em class=gr>default</em>:       
      <em class=gr>echo</em> ("<b>This isn't number or number is > 9 or < 1</b>");
<em class=gr>}</em> 
<em class=red>?&gt;</em>
</pre>
</blockquote>

<p class=text>Результат выполнения скрипта:</p>