Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JSON(PHP)中的反向键值数组_Php_Arrays_Json_Function - Fatal编程技术网

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

JSON(PHP)中的反向键值数组,php,arrays,json,function,Php,Arrays,Json,Function,我在php中有一个键值数组,如下所示 [1]=>"something" [2]=>"somethingelse" [4]=>"this" 现在我想将其导出为json,反转数组,但保留索引。所以json格式看起来像 { "4":"this", "2":"somethingelse" "1":"something" } 有没有一种简单的方法可以实现这一点(无需手动解析json)?您需要在数组中保留键\u reverse才能实现这一点。 你可以用这个 $a

我在php中有一个键值数组,如下所示

[1]=>"something"
[2]=>"somethingelse"
[4]=>"this"
现在我想将其导出为json,反转数组,但保留索引。所以json格式看起来像

{
    "4":"this",
    "2":"somethingelse"
    "1":"something"
}
有没有一种简单的方法可以实现这一点(无需手动解析json)?

您需要在
数组中保留键\u reverse
才能实现这一点。 你可以用这个

$array = array(1 => 'one', 2 => 'two');

$arrayFlipped = array_flip($array);

/*
$arrayFlipped:

Array
(
   [one] => 1
   [two] => 2
)
*/

如果您希望颠倒数组的顺序,最好在将其转换为JSON之前这样做。您可以使用函数执行此操作,需要将第二个参数设置为
TRUE
,以保留索引

<?php
$myArray = Array(
    1 => "something",
    2 => "somethingelse",
    4 => "this"
);

$myJSON = json_encode( array_reverse( $myArray, true ) );

print_r( $myJSON );
?>

示例:

$arr = array("apple","banana","orange");
$reversed = array_reverse($arr,true);
echo json_encode($reversed);
使用array\u reverse()函数,然后使用json\u encode()函数多亏了(其他的),array\u reverse做到了这一点,尽管我的json浏览器扩展通过对数组排序让我相信它没有做到。再次感谢:)
$reverse = array_reverse($array, true);
$json = json_encode ($reverse);
<?php
$myArray = Array(
    1 => "something",
    2 => "somethingelse",
    4 => "this"
);

$myJSON = json_encode( array_reverse( $myArray, true ) );

print_r( $myJSON );
?>
$arr = array(
    1 => "something",
    2 => "somethingelse",
    4 => "this"
);

$arr = array_reverse($arr,true); // true!

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