я получаю два массива изСортировка массива с весами в другом массиве
$check = getmxrr ($domain, $mxhosts, $weight);
Я хочу, чтобы получить mxhosts в третьем массиве от самого низкого до самого высокого веса.
Для простоты давайте простые имена массивов и значение:
$s = array('slowest','fast','very slow', 'slow','very fast', 'fastest');
$n = array(40, 10, 30, 20, 5, 0 );
Теперь, с этим кодом, я могу получить упорядоченный массив Я ищу:
$o = array_combine($n, $s);
ksort($o);
Но, если являются элементами с одинаковым весом, только последний элемент с повторным весом появится в упорядоченном массиве.
Есть ли подобные проблемы (с низкой площадью основания) без этой проблемы?
Иллюстративные случаи.
Весовые значения уникальны. Выход OK:
[0] => fastest [5] => very fast [10] => fast [20] => slow [30] => very slow [40] => slowest
У нас есть элементы тот же вес. Выход NOT OK (быстро уходит):
$n = array(40, 10, 30, 10, 20, 5, 0 );
$s = array('slowest','fast','very slow','fast2', 'slow','very fast', 'fastest');
[0] => fastest [5] => very fast [10] => fast2 [20] => slow [30] => very slow [40] => slowest
доля код для метода array_combine – Rab
это делает новый массив $ o с ключами из $ s и значением из $ n на порядок $ o [$ n [0]] = $ s [0] – gmaliar
@CoDeaDDict - это родная функция: http://www.php.net/ ручной/EN/function.array-combine.php –