JSON(PHP)中的反向键值数组

时间:2014-03-10 10:16:15

标签: php arrays json function

我在php中有一个键值数组

[1]=>"something"
[2]=>"somethingelse"
[4]=>"this"

现在我想将其导出为json,反转数组,但保留索引。所以json格式看起来像

{
    "4":"this",
    "2":"somethingelse"
    "1":"something"
}

有没有一种简单的方法可以实现这一点(无需手动解析json)?

6 个答案:

答案 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)

array_reverse

Example:

$arr = array("apple","banana","orange");
$reversed = array_reverse($arr,true);
echo json_encode($reversed);