次のコードでは、リンゴの後に Banana を配置する必要がありますが、代わりに末尾に移動します。
$json='{"apple":null,"orange":["s","s2"],"pear":null}';
$json=json_decode($json,true);
$json['Banana']=NULL;
ksort ($json, SORT_NATURAL | SORT_FLAG_CASE);
print_r($json);
次のコードでは、リンゴの後に Banana を配置する必要がありますが、代わりに末尾に移動します。
$json='{"apple":null,"orange":["s","s2"],"pear":null}';
$json=json_decode($json,true);
$json['Banana']=NULL;
ksort ($json, SORT_NATURAL | SORT_FLAG_CASE);
print_r($json);
function natksort(&$array) {
$keys = array_keys($array);
natcasesort($keys);
foreach ($keys as $k) {
$new_array[$k] = $array[$k];
}
$array = $new_array;
return true;
}
$json='{"apple":null,"orange":["s","s2"],"pear":null}';
$json=json_decode($json,true);
$json['Banana']=NULL;
natksort($json);
print_r($json);
結果:
Array
(
[apple] =>
[Banana] =>
[orange] => Array
(
[0] => s
[1] => s2
)
[pear] =>
)
SORT_NATURAL
SORT_FLAG_CASE
PHPバージョン> 5.4.0でのみ機能します
ここから: http://www.php.net/manual/en/function.sort.php
変更ログで
5.4.0 Added support for SORT_NATURAL and SORT_FLAG_CASE as sort_flags