[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сортировка многомерного массива
Bust_Ed
Всем привет.

Есть простенький массив вида:

$myarr = array ( 
array(1,2),
array(5,6),
array(7,8),
array(3,4),
array(13,14),
array(9,10),
array(11,12)
)


Содержимое не очень важно, важно то, что нужно его привести к такому виду:

$myarr = array (
array(1,2),
array(3,4),
array(5,6),
array(7,8),
array(9,10),
array(11,12),
array(13,14)
)


Т.е. каким образом можно переставить элементы массива с место на место? В идеале, нужна возможность переставить сразу несколько элементов. Например, у элементов с индексом с 12 по 18 новые индексы должны быть с 71 по 77?

Спасибо.
Bust_Ed
Кажется, нашел ответ.

$array = [0=>'a', 1=>'c', 2=>'d', 3=>'b', 4=>'e'];

function moveElement(&$array, $a, $b) {
$out = array_splice($array, $a, 1);
array_splice($array, $b, 0, $out);
}

moveElement($array, 3, 1);

Только здесь ОДИН элемент, а мне бы кусками таскать...
walerus
Цитата
Например, у элементов с индексом с 12 по 18 новые индексы должны быть с 71 по 77?
это как? наглядно можно ?

В последнем посте, показан пример перестановки, ОПРЕДЕЛЕННЫХ индексов в массиве, а в задании, т.е. в первом посте, эти позиции еще нужно определить...
AllesKlar
Bust_Ed
Тебе фактическу нужно отсортировать массивы по их первому значению.
тут почитай, то что тебе нужно.
http://php.net/usort

_____________
[продано копирайтерам]
Bust_Ed
Нет, в том-то и дело, что нужно не отсортировать, а именно переставить. Это я для примера привел, чтобы было очевидно куда и что я переставляю. Но, в общем, я вроде тут сам че-т намалевал. smile.gif Проверю, если не заработает - отпишусь. smile.gif

Спасибо.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.