, У меня есть два массива
Первый
Array ( [0] => Array ( [date] => 2012-01-10 [result] => 65 [name] => Les océans ) [1] => Array ( [date] => 2012-01-11 [result] => 75 [name] => Les mers ) [2] => Array ( [date] => 2012-01-13 [result] => 66 [name] => Les continents [type] => Scores ) )
Второй
Array ( [0] => Array ( [date_end] => 2012-01-12 [result] => 60 [name] => Step#1 [type] => Summary ) )
И я хочу это для моего окончательного результата
Array ( [0] => Array ( [date] => 2012-01-10 [result] => 65 [name] => Les océans ) [1] => Array ( [date] => 2012-01-11 [result] => 75 [name] => Les mers ) [2] => Array ( [date_end] => 2012-01-12 [result] => 60 [name] => Step#1 [type] => Summary ) [3] => Array ( [date] => 2012-01-13 [result] => 66 [name] => Les continents [type] => Scores ) )
Итак … Мне нужно совместить мой первый массив со вторым, и я хочу заказать этот новый массив по дате! … Может ли кто-нибудь помочь мне напомнить мне об этом? Спасибо !
array_merge и usort – ваш друг.
function cmp($a, $b){ $ad = strtotime($a['date']); $bd = strtotime($b['date']); return ($ad-$bd); } $arr = array_merge($array1, $array2); usort($arr, 'cmp');
Используйте array_merge (), чтобы объединить массивы, а затем используйте сортировку для сортировки () для их сортировки, очень просто. Вы хотите пример?
Это должно сортировать его для вас:
function dateSort($a,$b){ $dateA = strtotime($a['date']); $dateB = strtotime($b['date']); return ($dateA-$dateB); } $arrayOne = array( array( 'date' => '2012-01-10', 'result ' => 65, 'name' => 'Les océans' ), array( 'date' => '2012-01-11', 'result ' => 75, 'name' => 'Les mers' ), array( 'date' => '2012-01-13', 'result ' => 66, 'name' => 'Les continents', 'type' => 'Scores' ) ); $arrayTwo = array( array( 'date' => '2012-01-12', 'result ' => 60, 'name' => 'Step#1', 'type' => 'Summary' ) ); // Merge the arrays $combinedArray = array_merge($arrayOne,$arrayTwo); // Sort the array using the call back function usort($combinedArray, 'dateSort');
array_merge
массивы, а затем используйте следующий код в качестве примера того, как вы можете сортировать его.
function sortDate($val1, $val2) { if ($val1['date'] == $val2['date']) { return 0; } return (strtotime($val1['date']) < strtotime($val2['date'])) ? -1 : 1; } $array = array( array('date' => '2012-01-10'), array('date' => '2011-01-10'), array('date' => '2012-01-01') ); usort($array, "sortDate"); print_r($array);