php associative array key order (not sort)

前端 未结 5 812
余生分开走
余生分开走 2020-12-17 10:38

My array:

$data = array(\'two\' => 2, \'one\' => 1, \'three\' => 3);

Now, with when I iterate the array, the first value that wil

5条回答
  •  悲&欢浪女
    2020-12-17 11:00

    Two possible solutions (without using array_splice):

    1) Create a new array with the new order of the keys.

    $new_keys = array('one', 'two', 'three');
    $new_data = array();
    foreach ($new_keys as $key) {
        $new_data[$key] = $data[$key];
    }
    $data = $new_data;
    

    2) Move the element one upfront, remove it from $data and copy the rest of the array.

    function rearrangeData($data) {
        $result['one'] = $data['one'];
        unset($data['one']);
        return array_merge($result, $data);
    }    
    $data = rearrangeData($data);
    

提交回复
热议问题