PHP: 如何改变数组中键值对的顺序?

PHP: How to make changes to the order of key-value-pairs in arrays?

好的,那么我的问题来了:下面的代码以数组 $a 开始,然后调用 messUp($a)。任务是在 大写字母注释所在的位置插入代码 以便调用注释掉的代码,第三个 doOutput($a) 函数产生与第一次调用 doOutput($a) 相同的结果,而没有更改代码中的任何其他内容。我想知道这是否可能。

$a = array(111, 222, 333);

doOutput($a); // output call 1

messUp($a);

doOutput($a); // output call 2

// YOUR ANSWER MUST WORK BY INSERTING CODE HERE AND ONLY HERE

// doOutput($a); // output call 3, to be uncommented

function messUp(&$array) {
  $temp = $array[0];
  unset($array[0]);
  $array[0] = $temp;
}

function doOutput($array) {
  foreach ($array as $elementKey => $elementValue) {
    echo "Key: ", $elementKey, "\tValue:", $elementValue, "\n";
  }
  echo "\n";
}

就目前而言,代码从输出调用 1 和 2 输出以下内容:

Key: 0    Value:111
Key: 1    Value:222
Key: 2    Value:333

Key: 1    Value:222
Key: 2    Value:333
Key: 0    Value:111

好的,也许这次的答案很简单:

ksort($a);