0

このように生成されたので、私はこのように来る配列を持っています、そしてそれが生成される方法を変更するのは大変な作業です。これはその一部であり、さらにロードされます。

$name['Age'] = '25';
$name['Location'] = 'Seattle';
$name['Last'] = 'Gates';
$name['First'] = 'Bill';

print_r($name);

生成されたら、どうすれば次のような順序に変更できますか?

$name['First'] = 'Bill';
$name['Last'] = 'Gates';
$name['Age'] = '25';
$name['Location'] = 'Seattle';

print_r($name);
4

1 に答える 1

4

はい、独自の基準に従ってキーで連想配列を並べ替える機能があります。それはuksortと呼ばれます:

$key_order = array_flip(['First', 'Last', 'Age', 'Location']);
uksort($name, function($key1, $key2) {
  return $key_order[$key1] - $key_order[$key2];
});

print_r($name);

デモ


そうは言っても、代わりに別のものが必要ではないかと思わずにはいられません。配列の出力の順序のみを変更することです。例えば:

$output_order = ['First', 'Last', 'Age', 'Location'];
foreach ($output_order as $key) {
  echo $key, ' => ', $name[$key], PHP_EOL;
}
于 2013-10-27T14:07:20.440 に答える