>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";