Справочник по PHP - страница 13

Шрифт
Интервал

стр.

>print_r($arr);

>echo "";

?>

Приведенный скрипт выведет следующее:

Array( [0] => Array ( [6-ый элемент] => ананас ) [1] => Array ( [2-ый элемент] => груша ) [2] => Array ( [4-ый элемент] => дыня ) [3] => Array ( [5-ый элемент] => малина ) [4] => Array ( [3-ый элемент] => персик ) [5] => Array ( [1-ый элемент] => яблока ))

Функция поддерживается PHP 3 =3.0.3, PHP 4, PHP 5


array_multisort


Сортировка нескольких массивов или многомерного массива.

Синтаксис:

bool array_multisort(array ar1, [, mixed arg [, mixed ... [, array ...]]])

Функция array_multisort() сортирует сразу несколько массивов или многомерные массивы с сохранением индексной ассоциации, возвращая true при отсутствии ошибок.

Исходные массивы рассматриваются как столбцы таблицы, сортируемой построчно. Поэтому массивы должны иметь одинаковое число элементов, и взаимосвязь между ними, как в строках таблицы, сохраняется. Приоритетом сортировки пользуются первые массивы. Флаги сортировки могут указваться для каждого массива, и их действие распространяется только на тот массив, после которого они указаны.

Флаги определения порядка сортировки:

Флаги типа сортировки:

Уазание несколько флагов сортировки после одного массива недопустимо. Флаги сортировки, которые переются после аргумента arr применяются только к этому аргументу. Если после следующего аргумента флаги не указаны, то принимаются флаги по умолчанию (SORT_ASC, SORT_REGULAR).

Пример использования функции array_multisort():

Сортировка нескольких массивов

>ar1 = array("10", 100, 100, "a");

>ar2 = array(1, 3, "2", 1);

>array_multisort($ar1, $ar2);

> // $ar1 = array("10", "a", 100, 100);

> // $ar2 = array(1, 1, "2", 3);


Элементы второго массива, соответствующие одинаковым элементам (100 и 100) первого массива, также отсортированны.

Сортировка многомерного массива

>$ar = array(array("10", 100, 100, "a"), array(1, 3, "2", 1));

>array_multisort($ar[0], SORT_ASC, SORT_STRING,

> $ar[1], $SORT_NUMERIC, SORT_DESC);


>// $ar[0] = ("10", 100, 100, "a") - сортируются как строки по возрастанию

>// $ar[1] = (1, 3, "2", 1) - сортируются как числа по убыванию


Функция поддерживается PHP 4, PHP 5

Курсор массива


reset


Производит сброс курсора массива.

Синтаксис:

mixed reset(array arr)

Функция reset() устанавливает внутренний курсор массива arr на его начало и возвращает значение начального элемента.

Пример использования функции reset():

>

>$array = array("step one", "step two", "step three", "step four");

>

>// by default, the pointer is on the first element

>echo current($array) . "
n"; // "step one"


>// skip two steps

>next($array);

>next($array);

>echo current($array) . "
n"; // "step three"

>

>// reset pointer, start again on step one

>reset($array);

>echo current($array) . "
n"; // "step one"

?>

Функция поддерживается PHP 3, PHP 4, PHP 5


end


Производит перенос курсора в конец массива.

Синтаксис:

mixed end(array arr)

Функция end() устанавливает внутренний курсор массива arr на последний элемент и возвращает значение этого элемента.

Пример использования функции end():

>

>$fruits = array("apple", "banana", "cranberry");

>echo end($fruits); // cranberry

?>

Функция поддерживается PHP 3, PHP 4, PHP 5


next


Производит перенос курсора вперед.

Синтаксис:

mixed next(array arr)

Функция next() возвращает значение элемента, на котором в данный момент находится курсор, и перемещает курсор массива на следующий элемент. Возвращает false, если элементов больше не осталось.

Также false возвращается, если встречается элемент с пустым значением, следовательно для корректной работы с массивом, содержащим пустые элементы, лучще использовать функцию each().

Пример использования функции next():

>

>$transport = array("foot", "bike", "car", "plane");

>$mode = current($transport); // $mode = "foot";

>$mode = next($transport); // $mode = "bike";

>$mode = next($transport); // $mode = "car";

>$mode = prev($transport); // $mode = "bike";


стр.

Похожие книги