Как из массива а сделать массив b наиболее эффективно?
a = array(1,3,4,2,5,6);
b = array(1,3,5,4,2,6);
То есть нужно сменить положение одного элемента, но при этом не менять порядок следования других. В примере: 5 становиться в новую позицию после 1 и 3. Причем нужен такой способ (функция), что б работала и при перестановки элементов как "вперед" так и "назад"!
Например,
array
(
4 => '4743'
5 => '4738'
6 => '4650'
7 => '4765'
8 => '4778'
9 => '4748'
10 => '4749'
11 => '4647'
12 => '4776'
13 => '4741'
14 => '4773'
)
array
(
4 => '4738'
5 => '4650'
6 => '4765'
7 => '4778'
8 => '4748'
9 => '4749'
10 => '4647'
11 => '4776'
12 => '4743'
13 => '4741'
14 => '4773'
)
элемент 4743(место 4) из первого массива занимает место 12
Для подобных манипуляций есть функция array_splice, она позволят вставлять и извлекать элементы из массива с и по определенным позициям. И возвращает те самые элементы.
$a = array(1,3,4,2,5,6);
$from = 4;
$to = 2;
array_splice($a, $to, 0, array_splice($a, $from, 1));
var_dump($a);
В данном случае индекс 5 - 4, индекс нужной позиции 2. Извлекаем пятерку и вставляем в нужную позицию.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Ситуация: есть таблица, которая связана еще с несколькими по ключуВ основной таблице находится id города (ID_City), в связанной - сам город (City)
Добрый день! Не могу добавить несколько языков в строку с помощью плагина qtranslate