Có thể trong PHP để làm một cái gì đó như thế này? Làm thế nào bạn sẽ đi về viết một chức năng? Đây là một ví dụ. Thứ tự là thứ quan trọng nhất.Sắp xếp một mảng bằng các phím dựa trên một mảng khác?
$customer['address'] = '123 fake st';
$customer['name'] = 'Tim';
$customer['dob'] = '12/08/1986';
$customer['dontSortMe'] = 'this value doesnt need to be sorted';
Và tôi muốn làm một cái gì đó giống như
$properOrderedArray = sortArrayByArray($customer, array('name', 'dob', 'address'));
Bởi vì cuối cùng tôi sử dụng một foreach() và họ không theo thứ tự đúng (vì tôi gắn giá trị cho một chuỗi cần phải theo thứ tự đúng và tôi không biết trước tất cả các khóa/giá trị mảng).
Tôi đã xem xét các hàm mảng nội bộ của PHP nhưng có vẻ như bạn chỉ có thể sắp xếp theo thứ tự bảng chữ cái hoặc số.
Nó hoạt động độc đáo nếu bạn có các phím chuỗi nhưng không phải cho số. Tài liệu PHP: "Nếu các mảng đầu vào có cùng các khóa chuỗi, thì giá trị sau đó cho khóa đó sẽ ghi đè lên khóa trước đó. Tuy nhiên, các mảng có chứa các phím số, giá trị sau sẽ không ghi đè giá trị ban đầu, nhưng sẽ được thêm vào. " – bolbol
Rất tốt, nhưng điều gì sẽ xảy ra nếu các khóa không tồn tại trong các giá trị? Tôi cần điều này, nhưng chỉ khi có bất kỳ chìa khóa nào tồn tại ... Có lẽ cần phải tìm kiếm nó ... –
cho trường hợp của tôi là array_replace thay vì array_merge. array_merge kết hợp cả hai giá trị thay vì thay thế mảng thứ hai thành các khóa được sắp xếp. – neofreko