Mam szereg produktów i chcę je posortować za pomocą innej tablicy.Sortowanie tablicy przy użyciu innej tablicy
$products = array(
0 => 'Pro 1',
1 => 'Pro 2',
2 => 'Pro 3'
);
$sort = array(1,2,0);
array_multisort($products, $sort);
Array powinny teraz być ...
$products = array(
0 => 'Pro 2',
1 => 'Pro 3',
2 => 'Pro 1'
);
I nie wydają się być za pomocą array_multisort poprawnie. Próbowałem już na 2 godziny ...
Czy indeksy elementów zawsze pasują do liczb w tablicy '$ sort'? –
Myślę, że z 'array (1,2,0)' powinno być '3,1,2', kiedy chcesz' 2,3,1' powinieneś użyć 'array (2,0,1)' – Vyktor
Vyktor jest poprawne, jeśli chcesz użyć 'array_multisort ($ sort, $ products)', tablica musi mieć postać '[2,0,1]'. Pomyśl o tym w kategoriach "Chcę, aby pierwszy element" $ products' był @ index 2, drugi element miałby być w indeksie 0, a trzeci element byłby w indeksie 1. " Przy obecnej tablicy wystarczy użyć jakiejś formy iteracji (to jest 'array_map'), co ilustrują podane odpowiedzi. – Matthew