| Сортировка массива своей функцией |
|
|
|
|
Существует множество различных случаев, когда необходимо произвести сортировку массива, используя свою функцию для сортировки. Благо об этом позаботились создатели PHP и дали возможность простой сортировки с помощью функции usort. usort – используется, когда необходимо отсортировать массив, используя свою функцию. В качестве параметров функции usort первым параметром – передается массив, вторым – имя функции, которую вы собираетесь использовать для сортировки. Ваша функция сортировки массива должна принимать два параметра – значения двух элементов массива, идущих в исходном массиве друг за другом. И на основании сравнений значений этих элементов массива, ваша функция должна возвращать -1, 0 или 1. Т.е. если возвращенное значение равно 1 – элемент массива опускается ниже, 0 – положение не определено (остается там же, где был до этого), 1 – поднимается вверх. Пример сортировки с использованием usort для сортировки числовых элементов массива:
function cmp ($a, $b) { if ($a == $b) return 0; return ($a > $b) ? -1 : 1; } $a = array (3, 2, 5, 6, 1); usort ($a, "cmp"); Пример сортировки массива строковых значений, используя usort: function cmp ($a, $b) { return strcmp($a["q"], $b["q"]); } $fruits[0]["q"] = "cead"; $fruits[1]["q"] = "bcea"; $fruits[2]["q"] = "abcd"; usort($fruits, "cmp"); Автор: Беляев Александр По материалам сайта: http://wm-help.net/
|



