﻿<h1 class=p1>Многомерные массивы</h1>
<table border="0" cellspacing="10">
    <tr valign="top">
        <td>
            <a class=bluelink href="#1" title="Функция подсчета количества элементов в массиве" >count()</a>&nbsp;<br>
        </td>
        <td>
            <a class=bluelink href="#2" title="Функция поиска в массиве">in_array()</a>&nbsp;<br>       
        </td>
        <td>
            <a class=bluelink href="#3" title="Функция устанавливает указатель массива на первый элемент и возвращает значение первого элемента массива">reset()</a>&nbsp;<br>      
        </td>
    </tr>
</table>
<br>
<p class=text>Для инициализации многомерных массивов используются вложенные конструкции <b>array</b>(). Обход многомерных массивов достигается при помощи вложенных циклов. В следующем скрипте показан пример создания и обхода многомерного массива.</p>
<p class=prim><b>Пример:</b></p>
<blockquote><pre>
<em class=red>&lt;?</em>
   <b>$ship</b> <em class=gr>=</em> array<em class=gr>(</em>
      "Passenger ship" => array("Yacht","Liner","Ferry"),
      "War ship" => array("Battle-wagon","Submarine","Cruiser"),
      "Freight ship" => array("Tank vessel","Dry-cargo ship","Container 
      cargo ship")
   <em class=gr>);</em>
   foreach<em class=gr>(</em><b>$ship</b> as <b>$key</b> => <b>$type</b><em class=gr>)
   {
      echo(</em>
      "&lt;<b>h2</b>><b>$key</b>&lt;<b>/h2</b>>\n"."&lt;<b>ul</b>>\n"<em class=gr>);</em>
      foreach<em class=gr>(</em><b>$type</b> as <b>$ship</b><em class=gr>)
      {
         echo(</em>"\t&lt;<b>li</b>><b>$ship</b>&lt;<b>/li</b>>\n"<em class=gr>);
      }
   }
   echo(</em>"&lt;<b>/ul</b>>\n"<em class=gr>);</em>
<em class=red>?&gt;</em>
</pre></blockquote>
<p class=prim><b><i>Результат выполнения этого скрипта::</i></b></p><br>
<table class="color1" width="100%" cellpadding="12" ><tr><td>
<h2>Passenger ship</h2>
<ul>
    <li>Yacht</li>
    <li>Liner</li>
    <li>Ferry</li>
<h2>War ship</h2>
<ul>
    <li>Battle-wagon</li>
    <li>Submarine</li>
    <li>Cruiser</li>
<h2>Freight ship</h2>
<ul>
    <li>Tank vessel</li>
    <li>Dry-cargo ship</li>
    <li>Container 
cargo ship</li>
</ul>
</td></tr></table>
<p class=text>Ну а теперь, будем рассматривать функции, которые есть в PHP для работы с массивами. И первое с чего мы начнем – это функции сортировки массивов. Однако до этого я еще скажу о трех функциях, которыми мы часто будем пользоваться в наших примерах.</p>

<a name=1></a>
<h1 class=p1>Функция count()</h1>
<p class=prim><b><i>Синтаксис:</i></b></p>
<blockquote><pre>
int <b>count</b><em class=gr>(</em>mixed <b>var</b><em class=gr>)</em>
</pre></blockquote>
<p class=text>Эта функция принимает в качестве аргумента массив и возвращает количество элементов в нем. Как понимаете, штука незаменимая когда будем бегать по массиву циклом <b>for</b>(). </p>
<br>
<a name=2></a>
<h1 class=p1>Функция in_array()</h1>
<p class=prim><b><i>Синтаксис:</i></b></p>
<blockquote><pre>
boolean <b>in_array</b><em class=gr>(</em>mixed <b>needle</b>, array <b>haystack</b> [, bool <b>strict</b>]<em class=gr>)</em>
</pre></blockquote>
<p class=text>Эта функция ищет в массиве <b>haystack</b> значение <b>needle</b> и возвращает <b>true</b> если оно найдено и <b>false</b> в противном случае. </p>
<br>

<a name=3></a>
<h1 class=p1>Функция reset()</h1>
<p class=prim><b><i>Синтаксис:</i></b></p>
<blockquote><pre>
mixed <b>reset</b><em class=gr>(</em>array <b>array</b><em class=gr>)</em>
</pre></blockquote>
<p class=text>Функция <b>reset</b>() устанавливает указатель массива на первый элемент и возвращает значение первого элемента массива.</p>
<blockquote class=citat>Небольшое замечание. У каждого массива в PHP есть внутренний указатель на текущий элемент массива. При работе с такими конструкциями как <b>foreach</b> не надо думать об указателе, поскольку foreach устанавливает его в начало массива. Однако, многие другие функции массивов, такие как <b>prev</b>(), <b>next</b>(), занимаются перемещением указателя массива, что может иметь значение при работе с такими функциями, как <b>array_walk</b>(), которые начинают обработку массива с того места, где находится указатель.</blockquote>
<p class=text>Ну а теперь вплотную займемся сортировками.</p>