Если вы хотите изменить порядок программно, взгляните на различные функции сортировки массива в PHP , особенно
uasort()
- сортировка массива с помощью пользовательской функции сравнения и поддержание связи индекса
uksort()
- сортировка массива по ключам с помощью пользовательской функции сравнения
usort()
- Сортировать массив по значениям с помощью пользовательской функции сравнения
Основываясь на примере Yannicks ниже, вы можете сделать это следующим образом:
$a = array(0 => 'a', 1 => 'b', 2 => 'c', 3 => 'd');
$b = array(3, 2, 0, 1); // rule indicating new key order
$c = array();
foreach($b as $index) {
$c[$index] = $a[$index];
}
print_r($c);
даст
Array([3] => d [2] => c [0] => a [1] => b)
Но, как я уже сказал в комментариях, если вы не сообщите нам правило, по которому следует упорядочивать массив, или более точно определите ваши потребности, мы не сможем вам помочь.