Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Основы работы с массивами


Автор: http://www.softtime.ru < >

В PHP существует 2 метода инициализации массивов. Первый из них состоит в простом присвоении значений элементам массива:
  

  <?
    $car[] = "passenger car";
    $car[] = "land-rover";
    echo($car[1]); // выводит "land-rover"
  ?>
  

  
  Индекс массива можно указать явно:
  
  

  <?
    $car[0] = "passenger car";
    $car[1] = "land-rover";
    echo($car[1]); // выводит "land-rover"
  ?>
  

  
  Заметим, что если при объявлении элементов массива смешиваются переменные с явной индексацией, и без индексации, то тому элементу, индекс которого не задан, PHP присвоит первый доступный индекс, после самого большого использованного до сих пор индекса. Например, если мы создадим массив с элементами, индексы которых будет равны, скажем, 10, 20 и 30, а потом создадим элемент, индекс которого явно не укажем, то ему автоматически присвоится индекс 31:
  

  
  <?
    $car[10] = "passenger car";
    $car[20] = "land-rover";
    $car[30] = "station-wagon";
    $car[] = "victoria";
    echo($car[31]);
  ?>
  

  
  Альтернативный способ определения массивов состоит в использовании конструкции array():
  

  <?
    $car = array("passenger car","land-rover");
    echo($car[1]); // выводит "land-rover"
  ?>
  

  
  Для явного указания индексов в этом случае применяется оператор =>:
  

  
  <?
    $car = array("passenger car", 5 => "land-rover",
        "station-wagon","victoria");
    echo($car[0]); echo("<br>"); // выводит "passenger car"
    echo($car[5]); echo("<br>"); // выводит "land-rover"
    echo($car[6]); echo("<br>"); // выводит "station-wagon"
    echo($car[7]); // выводит "victoria"
  ?>
  

  
  Индексами массива могут быть и строки:
  

  <?
    $car = array("pc" => "passenger car", "lr" => "land-rover");
    echo($car["lr"]); echo("<br>"); // выводит "land-rover"
    echo($car["pc"]);  // выводит "passenger car"
  ?>
  

  
  Обход массива в цикле в PHP4 можно организовать при помощи цикла foreach, который имеет следующий синтаксис:
  

  
  foreach (array as [$key =>] $value)
  {
    statements;
  }
  

  
  Смысл этого цикла прост: при проходе каждого элемента массива в переменную $key помещается индекс этого элемента, а в переменную $value – его значение. Имена этих двух переменных совершенно произвольны.
  
  Пример:
  

  
  <?
    $car = array("passenger car", "land-rover",
        "station-wagon","victoria");
    foreach($car as $index => $val)
    {
        echo("$index -> $val <br>");
    }
  ?>
  

  
  Как видно из синтаксиса, переменная $key необязательна и может быть опущена:
  

  
  <?
    echo(
        "available cars: <br> <ul>"
    );
    $car = array("passenger car", "land-rover",
        "station-wagon","victoria");
    foreach($car as $val)
    {
        echo("<li>$val</li>\n");
    }
    echo("</ul>");
  ?>
  

  
  Для инициализации многомерных массивов используются вложенные конструкции array(). Обход многомерных массивов достигается при помощи вложенных циклов. В следующем скрипте показан пример создания и обхода многомерного массива.
  
  Пример:
  

  <?
    $ship = array(
        "Passenger ship" => array("Yacht","Liner","Ferry"),
        "War ship" => array("Battle-wagon","Submarine","Cruiser"),
        "Freight ship" => array("Tank vessel","Dry-cargo ship","Container
        cargo ship")
    );
    foreach($ship as $key => $type)
    {
        echo(
        "<h2>$key</h2>\n"."<ul>\n");
        foreach($type as $ship)
        {
          echo("\t<li>$ship</li>\n");
        }
    }
    echo("</ul>\n");
  ?>
  

  Ну а теперь, будем рассматривать функции, которые есть в PHP для работы с массивами. И первое с чего мы начнем – это функции сортировки массивов. Однако до этого я еще скажу о трех функциях, которыми мы часто будем пользоваться в наших примерах.
  Функция count()
  
  Синтаксис:
  
  int count(mixed var)
  
  Эта функция принимает в качестве аргумента массив и возвращает количество элементов в нем. Как понимаете, штука незаменимая когда будем бегать по массиву циклом for().
  
  Функция in_array()
  
  Синтаксис:
  
  boolean in_array(mixed needle, array haystack [, bool strict])
  
  Эта функция ищет в массиве haystack значение needle и возвращает true если оно найдено и false в противном случае.
  
  Функция reset()
  
  Синтаксис:
  
  mixed reset(array array)
  
  Функция reset() устанавливает указатель массива на первый элемент и возвращает значение первого элемента массива.
  Небольшое замечание. У каждого массива в PHP есть внутренний указатель на текущий элемент массива. При работе с такими конструкциями как foreach не надо думать об указателе, поскольку foreach устанавливает его в начало массива. Однако, многие другие функции массивов, такие как prev(), next(), занимаются перемещением указателя массива, что может иметь значение при работе с такими функциями, как array_walk(), которые начинают обработку массива с того места, где находится указатель.
  
  Взято с http://www.softtime.ru

Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS