php - sort an array by key to match another array's order by key
I have two arrays, both have the same keys (different values) however array #2 is in a different order. I want to be able to resort the second array so it is in the same order as the first array.
Is there a function that can quickly do this?
Answers
I can't think of any off the top of my head, but if the keys are the same across both arrays then why not just loop over the first one and use its key order to create a new array using the the values from the 2nd one?
$arr1 = array( 'a' => '42', 'b' => '551', 'c' => '512', 'd' => 'gge', ) ; $arr2 = array( 'd' => 'ordered', 'b' => 'is', 'c' => 'now', 'a' => 'this', ) ; $arr2ordered = array() ; foreach (array_keys($arr1) as $key) { $arr2ordered[$key] = $arr2[$key] ; }