我需要颠倒values
中array
的顺序:
// My current array looks like this
// echo json_encode($array);
{ "t" : [ 1, 2, 3, 4, 5, 6 ],
"o" : [ 1.1, 2.2, 3.3, 4.4, 5.5, 6.6 ],
"h" : [ 1.2, 2.2, 3.2, 4.2, 5.2, 6.2 ]
}
我需要反转保留values
的{{1}}所以它应该如下所示:
keys
我尝试过但没有成功:
// echo json_encode($newArray);
{ "t" : [6, 5, 4, 3, 2, 1 ],
"o" : [ 6.6, 5.5, 4.4, 3.3, 2.2, 1.1],
"h" : [ 6.2, 5.2, 4.2, 3.2, 2.2, 1.2 ]
}
在这里阅读了类似的问题后,也尝试了以下但没有成功:
<?php
$newArray= array_reverse($array, true);
echo json_encode($newArray);
/* The above code output (Note that the values keep order):
{
"h":[1.2, 2.2, 3.2, 4.2, 5.2, 6.2]
"o":[1.1, 2.2, 3.3, 4.4, 5.5, 6.6]
"t":[1,2,3,4,5,6]
}
*/
?>
非常感谢你的时间。
答案 0 :(得分:1)
Haven没有测试过,但是应该这样做:
$newArray = array();
foreach($array as $key => $val) {
$newArray[$key] = array_reverse($val);
}
答案 1 :(得分:0)
假设{"t":[1,2,3,4,5,6],"o":[1.1,2.2,3.3,4.4,5.5,6.6],"h":[1.2,2.2,3.2,4.2,5.2,6.2]}
是您的输入,
$json = json_decode($json);
$json = array_map('array_reverse', get_object_vars($json));
$json = json_encode($json);
考虑这个片段,
$json
现在,{"t":[6,5,4,3,2,1],"o":[6.6,5.5,4.4,3.3,2.2,1.1],"h":[6.2,5.2,4.2,3.2,2.2,1.2]}
包含,
{{1}}