У меня есть этот массив:PHP, Сортировка/слияния многомерный массив другой (меньший) массив
$original=[];
$original[]=['value'=>'a','count'=>10];
$original[]=['value'=>'b','count'=>15];
$original[]=['value'=>'c','count'=>23];
$original[]=['value'=>'d','count'=>40];
$original[]=['value'=>'e','count'=>25];
И этот массив, содержащий элементы, которые должны быть в начале исходного массива $:
$sort=['d','c'];
Так что результат в конечном счете должны быть:
[
(int) 0 => [
'value' => 'd',
'count' => (int) 40
],
(int) 1 => [
'value' => 'c',
'count' => (int) 23
],
(int) 2 => [
'value' => 'a',
'count' => (int) 10
],
(int) 3 => [
'value' => 'b',
'count' => (int) 15
],
(int) 4 => [
'value' => 'e',
'count' => (int) 25
],
]
Используя простой цикл это выполнимо, но есть хороший способ сделать это?
должен ли ваш '$ массив sort' быть многомерным? Какое поведение вы ожидаете, например, для '$ sort = [['d', 'c'], ['b', 'a']]'? – wazelin
№ $ sort содержит только ключи значений, ничего больше –
Но в вашем примере это '$ sort = [['d', 'c']]'. – wazelin