我在php中有一个键值数组
[1]=>"something"
[2]=>"somethingelse"
[4]=>"this"
现在我想将其导出为json,反转数组,但保留索引。所以json格式看起来像
{
"4":"this",
"2":"somethingelse"
"1":"something"
}
有没有一种简单的方法可以实现这一点(无需手动解析json)?
答案 0 :(得分:1)
array_reverse
中的密钥才能使其正常工作。<?php
$arr=array(1=>"something",2=>"somethingelse",4=>"this");
echo json_encode(array_reverse($arr,true),true);
<强> OUTPUT :
强>
{"4":"this","2":"somethingelse","1":"something"}
答案 1 :(得分:1)
您可以使用array_flip()。
$array = array(1 => 'one', 2 => 'two');
$arrayFlipped = array_flip($array);
/*
$arrayFlipped:
Array
(
[one] => 1
[two] => 2
)
*/
答案 2 :(得分:1)
$reverse = array_reverse($array, true);
$json = json_encode ($reverse);
答案 3 :(得分:1)
如果您希望颠倒数组的顺序,最好在将其转换为JSON之前执行此操作。您可以使用array_reverse()
函数执行此操作,您需要将第二个参数设置为TRUE
以保留索引。
<?php
$myArray = Array(
1 => "something",
2 => "somethingelse",
4 => "this"
);
$myJSON = json_encode( array_reverse( $myArray, true ) );
print_r( $myJSON );
?>
答案 4 :(得分:1)
$arr = array(
1 => "something",
2 => "somethingelse",
4 => "this"
);
$arr = array_reverse($arr,true); // true!
echo json_encode($arr);
答案 5 :(得分:0)
Example:
$arr = array("apple","banana","orange");
$reversed = array_reverse($arr,true);
echo json_encode($reversed);