PHP 4 на практике

       

Другие полезные функции


В этом разделе описаны некоторые функции, которые не принадлежат ни к какому конкретному разделу, но приносят несомненную пользу.

array_merge( )

Функция arrayjnerge( ) сливает от 1 до N массивов, объединяя их в соответствии с порядком перечисления в параметрах. Синтаксис функции array_merge( ):

array array_merge(array массив1, array массив2, ..., array массивN]

Рассмотрим пример простого объединения массивов функцией arrayjnerge( );

$arr_1 = array("strawberry", "grape", "lemon");

$arr_2 = array("banana", "cocoa", "lime");

$arr_3 = array("peach", "orange");

$arr_4 = array_merge ($arr2, $arr_1, $arr_3):

// $arr_4 = array("banana", "cocoa", "lime", "strawberry", "grape", "lemon", "peach", "orange");

array_slice( )

Функция array_slice( ) возвращает часть массива, начальная и конечная позиция которой определяется смещением от начала и необязательным параметром длины. Синтаксис функции array_slice( ):

array array_slice(array массив, int смещение [, int длина])



Значения параметров задаются по определенным правилам:

  • Если смещение положительно, начальная позиция возвращаемого фрагмента отсчитывается от начала массива.
  • Если смещение отрицательно, начальная позиция возвращаемого фрагмента отсчитывается от конца массива.
  • Если длина не указана, в возвращаемый массив включаются все элементы от начальной позиции до конца массива.
  • Если указана положительная длина, возвращаемый фрагмент состоит из заданного количества элементов.
  • Если указана отрицательная длина, возвращаемый фрагмент заканчивается в заданном количестве элементов от конца массива.
  • array_splice( )

    Функция array_spl ice( ) отдаленно напоминает array_slice( ) — она заменяет часть массива, определяемую начальной позицией и необязательной длиной, элементами необязательного параметра-массива. Синтаксис функции array_splice( ):

    array_splice(array входной_массив, int смещение, [int длина], [array заменяющий_массив]);


    Значения параметров задаются по определенным правилам:



    • Если смещение положительно, начальная позиция первого удаляемого элемента отсчитывается от начала массива.


    • Если смещение отрицательно, начальная позиция первого удаляемого элемента отсчитывается от конца массива.


    • Если длина не указана, удаляются все элементы от начальной позиции до конца массива.


    • Если указана положительная длина, удаляемый фрагмент состоит из заданного количества элементов.


    • Если указана отрицательная длина, из массива удаляются элементы от начальной позиции до позиции, находящейся на заданном расстоянии от конца массива.


    • Если заменяющий_массив не указан, то элементы, заданные смещением и необязательной длиной, удаляются из массива.


    • Если заменяющий_массив указан, он должен быть заключен в конструкцию аггау() (если он содержит более одного элемента).


    • Рассмотрим несколько примеров, наглядно демонстрирующих возможности этой функции. В этих примерах будет использоваться массив $pasta (см. выше), с которым будут выполняться различные операции.

      Удаление всех элементов с пятой позиции до конца массива:

      $pasta = array_splice($pasta, 5);

      Удаление пятого и шестого элементов:

      $pasta = array_splice($pasta. 5, 2);

      Замена пятого и шестого элементов новыми значениями:

      $pasta = array_splice($pasta, 5, 2, array("element1", "element2"));

      Удаление всех элементов, начиная с пятого, до третьего элемента с конца массива:

      $pasta = array_splice($pasta, 5, -3);

      Как видно из приведенных примеров, функция array_splice( ) обеспечивает гибкие возможности удаления элементов из массива при минимальном объеме кода.

      shuffle( )

      Функция shuffle( ) сортирует элементы массива в случайном порядке. Синтаксис функции shuffle( ):

      void shuffle(array массив);


      Содержание раздела