Сортировка многомерного массива на основе упорядоченного массива

Это, пожалуй, самый старый вопрос в книге с сотнями доступных ресурсов, но до сих пор каждое решение, которое я пробовал, не решило мою проблему. Я надеюсь, что вы сможете помочь.

Я пытаюсь отобразить график, который отображает последние 31 день данных. Полученный массив выглядит следующим образом:

$data[ 0 => 'day' => 10, 'amount' => 5, 'count' => 2 1 => 'day' => 16, 'amount' => 4, 'count' => 2 2 => 'day' => 21, 'amount' => 16, 'count' => 1 3 => 'day' => 11, 'amount' => 0, 'count' => 0 4 => 'day' => 12, 'amount' => 0, 'count' => 0 ] 

По существу, этот массив состоит из двух частей. Первые 3 внутренних массива – это дни, которые содержат суммы и счета, остальные 27 – неучтенные в течение нескольких дней с их суммой и количеством отсчетов, равным 0. Так, например, $data[5] будет днем ​​13 и $data[21] 31-го дня . $data[22] будет равняться 1-му дню, поднимаясь до 9 дня, таким образом, показывая последние 31 день.

Кроме того, есть упорядоченный массив дней, которые мы хотим вывести.

 $days[ 0 => 'day' => 10 1 => 'day' => 11 2 => 'day' => 12 ... 30 => 'day' => 9 ] 

Я попробовал следующее, но в то время как теперь $data упорядочены, это, по сути, всего лишь реплика $days и теряет другие значения, хранящиеся в $data .

 $data = array_uintersect($days, $data, array($this, 'compare_days')); function compare_days($order, $array) { return strcmp($order['day'], $array['day']); } 

Что происходит? Как я могу сортировать $data так, чтобы он сохранял данные и заказывал их по желанию в $days ?

Solutions Collecting From Web of "Сортировка многомерного массива на основе упорядоченного массива"