﻿<h1 class=p1>Инициализация массивов</h1>
<br>
<br>

<p class=text>В PHP существует 2 метода инициализации массивов. Первый из них состоит в простом присвоении значений элементам массива:</p>
<blockquote><pre>
<em class=red>&lt;?</em>
   <b>$car</b>[] <em class=gr>=</em> "passenger car"<em class=gr>;</em>
   <b>$car</b>[] <em class=gr>=</em> "land-rover"<em class=gr>;</em>
   <em class=gr>echo(</em><b>$car</b>[1]<em class=gr>);</em> <em class=comnt>// выводит &quot;land-rover&quot;</em>
<em class=red>?&gt;</em>
</pre></blockquote>
<p class=text>Индекс массива можно указать явно:</p>
<blockquote><pre>
<em class=red>&lt;?</em>
   <b>$car</b>[0] <em class=gr>=</em> "passenger car"<em class=gr>;</em>
   <b>$car</b>[1] <em class=gr>=</em> "land-rover"<em class=gr>;</em>
   <em class=gr>echo(</em><b>$car</b>[1]<em class=gr>);</em> <em class=comnt>// выводит &quot;land-rover&quot;</em>
<em class=red>?&gt;</em>
</pre></blockquote>
<p class=text> Заметим, что если при объявлении элементов массива смешиваются переменные с явной индексацией, и без индексации, то тому элементу, индекс которого не задан, PHP присвоит первый доступный индекс, после самого большого использованного до сих пор индекса. Например, если мы создадим массив с элементами, индексы которых будет равны, скажем, 10, 20 и 30, а потом создадим элемент, индекс которого явно не укажем, то ему автоматически присвоится индекс 31:</p>
<blockquote><pre>
<em class=red>&lt;?</em>
   <b>$car</b>[10] <em class=gr>=</em> "passenger car"<em class=gr>;</em>
   <b>$car</b>[20] <em class=gr>=</em> "land-rover"<em class=gr>;</em>
   <b>$car</b>[30] <em class=gr>=</em> "station-wagon"<em class=gr>;</em>
   <b>$car</b>[] <em class=gr>=</em> "victoria"<em class=gr>;</em>
   <em class=gr>echo(</em><b>$car</b>[31]<em class=gr>);</em>
<em class=red>?&gt;</em>
</pre></blockquote>
<p class=text>Альтернативный способ определения массивов состоит в использовании конструкции <b>array</b>():</p>
<blockquote><pre>
<em class=red>&lt;?</em>
   <b>$car</b> <em class=gr>=</em> array<em class=gr>(</em>"passenger car","land-rover"<em class=gr>);</em>
   <em class=gr>echo(</em><b>$car</b>[1]<em class=gr>);</em> <em class=comnt>// выводит "land-rover"</em>
<em class=red>?&gt;</em>
</pre></blockquote>
<p class=text>Для явного указания индексов в этом случае применяется оператор <b>=></b>:</p>
 
<blockquote><pre>
<em class=red>&lt;?</em>
   <b>$car</b> <em class=gr>=</em> array<em class=gr>(</em>"passenger car", 5 => "land-rover",
      "station-wagon","victoria"<em class=gr>);</em>
   <em class=gr>echo(</em><b>$car</b>[0]<em class=gr>); echo(</em>"&lt;<b>br</b>>"<em class=gr>);</em> <em class=comnt>// выводит "passenger car"</em>
   <em class=gr>echo(</em><b>$car</b>[5]<em class=gr>); echo(</em>"&lt;<b>br</b>>"<em class=gr>);</em> <em class=comnt>// выводит "land-rover"</em>
   <em class=gr>echo(</em><b>$car</b>[6]<em class=gr>); echo(</em>"&lt;<b>br</b>>"<em class=gr>);</em> <em class=comnt>// выводит "station-wagon"</em>
   <em class=gr>echo(</em><b>$car</b>[7]<em class=gr>);</em> <em class=gr>// выводит "victoria"</em>
<em class=red>?&gt;</em>
</pre></blockquote>
<p class=text>Индексами массива могут быть и строки:</p>
<blockquote><pre>
<em class=red>&lt;?</em>
   <b>$car</b> <em class=gr>=</em> array<em class=gr>(</em>"pc" => "passenger car", "lr" => "land-rover"<em class=gr>);</em>
   <em class=gr>echo(</em><b>$car</b>["lr"]<em class=gr>); echo(</em>"&lt;<b>br</b>>"<em class=gr>);</em> // выводит "land-rover" 
   <em class=gr>echo(</em><b>$car</b>["pc"]<em class=gr>);</em>  <em class=comnt>// выводит "passenger car"</em>
<em class=red>?&gt;</em>
</pre></blockquote>