gpt4 book ai didi

php - 如何对json字符串进行排序?

转载 作者:行者123 更新时间:2023-12-04 05:58:40 24 4
gpt4 key购买 nike

我想将下面的 JSON 字符串解析为关联数组,按 'age' 字段对其进行排序,并将排序后的数组输出为 HTML 表:

<?
$json='[{"name": "jesse","age": 25},{"name": "jason","age": 29},{"name": "johnson","age": 24}]';

?>

我应该使用某种 json_decode 来打印各个值并在 php 中使用现有的排序函数吗?

最佳答案

是的,唯一的方法(我知道)是使用:

$array = json_decode( $json);
$array = array_map( $array, 'objectToArray');

// Or rather:
$array = json_decode( $json, true);

// And sort
sort( $array);

php报价 many array sorting功能,只需浏览手册。我也借了 objectToArray来自 this page .

我猜你会想按年龄(或姓名)排序,你应该使用 usort :
function cmp( $a, $b){
if( !isset( $a['age']) && !isset( $b['age'])){
return 0;
}

if( !isset( $a['age'])){
return -1;
}

if( !isset( $b['age'])){
return 1;
}

if( $a['age'] == $b['age']){
return 0;
}

return (($a['age'] > $b['age']) ? 1 : -1);
}

usort( $array, 'cmp');

关于php - 如何对json字符串进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9196925/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com