Tôi có một loạt sản phẩm và tôi muốn sắp xếp chúng bằng một mảng khác.Sắp xếp mảng bằng mảng khác
$products = array(
0 => 'Pro 1',
1 => 'Pro 2',
2 => 'Pro 3'
);
$sort = array(1,2,0);
array_multisort($products, $sort);
Mảng nên tại được ...
$products = array(
0 => 'Pro 2',
1 => 'Pro 3',
2 => 'Pro 1'
);
Tôi dường như không được sử dụng một cách chính xác array_multisort. Ive đã thử các cách khác nhau trong 2 giờ ngay bây giờ ...
chỉ số phần tử luôn khớp với các số trong mảng '$ sort'? –
Tôi nghĩ rằng với 'mảng (1,2,0)' nó phải là '3,1,2', khi bạn muốn' 2,3,1' bạn nên sử dụng 'mảng (2,0,1)' – Vyktor
Vyktor là đúng nếu bạn muốn sử dụng 'mảng_multisort ($ sort, $ products)', mảng cần phải là '[2,0,1]'. Hãy suy nghĩ về nó về "Tôi muốn phần tử đầu tiên của' $ products' là @ index 2, phần tử thứ hai ở chỉ số 0 và phần tử thứ ba ở chỉ mục 1. " Với mảng hiện tại của bạn, bạn chỉ cần sử dụng một số dạng lặp (tức là 'mảng_map') làm câu trả lời được minh họa. – Matthew