当前位置: 首页 > 面试题库 >

防止json_encode关联数组排序

杭胜
2023-03-14
问题内容

我有一个关联数组

Array(
   [289] => Array(
    'name'=> 'One'
   ),
   [292] => Array(
    'name'=> 'One'
   ),
   [290] => Array(
    'name'=> 'One'
   )
)

在我在此数组上使用json_encode之后。密钥已排序,尽管我将其作为JSON对象获取。

有办法防止这种行为吗?


问题答案:

没有任何标准表明必须按一定顺序进行。

注意:我们正在谈论的是PHP函数,但结果基本上是javascript,因此有关不存在的标准的声明也适用。

顺便说一句:我已经用以下代码对其进行了测试。PHP本身似乎并没有对数组进行排序,firefox也没有(根据firebug控制台)。

<pre>
<?php
    $array = array();
    $array[289] = array('name'=>'One');
    $array[292] = array('name'=>'One');
    $array[290] = array('name'=>'One');
    print_r($array);
    $string = json_encode($array);
    print_r($string);
?>
</pre>
<script>
    var foo = <?=$string?>;
    console.log(foo);
</script>


 类似资料:
  • SystemTap支持关联数组。关联数组就像其它编程语言中的map/dict/hash,你可以把它看作由互不相同的键所组成的数组,每个键都有一个关联的值。 关联数组需要定义为全局变量。访问关联数组的值的语法跟awk类似,就是array_name[index_expression]。 这里的array_name指关联数组的名字,index_expression指数组中某个唯一的键。比如在下面的例子中

  • 问题内容: 我有这种格式的数组: 如何按该字段的降序对该格式的数组排序?是否有内置功能? 问题答案: 使用并提供您自己的功能进行订购,例如

  • 本文向大家介绍Json_encode防止汉字转义成unicode的方法,包括了Json_encode防止汉字转义成unicode的方法的使用技巧和注意事项,需要的朋友参考一下 大家都知道,json_encode通常会把json中的汉字转义成unicode,但是这并不一定是我们想要的。有时候,我们需要获得汉字形式的json字符串,比如需要获得gbk编码的json字符串(只要把汉字形式的字符串转码就可

  • 问题内容: 每次使用时,我都会按字母顺序对JSON键进行排序。我不希望按键排序。我可以禁用在中进行的排序吗? 问题答案: 是的,您可以使用以下属性对此进行修改: 但是,请注意,在文档中明确警告不要这样做: 默认情况下,Flask将以对密钥进行排序的方式序列化JSON对象。这样做是为了确保独立于字典的哈希种子,返回值将保持一致,以免浪费外部HTTP缓存。您可以通过更改此变量来覆盖默认行为。不建议这样

  • 问题内容: 我有一个模型可以使用“使行为成为现实”宝石(Github页面)进行投票。投票系统工作正常,但我尝试显示按每个页面有多少排序的页面。 目前,我的控制器根据标签提取资源,但未排序: 如果我使用单个资源并调用“ @ resource.votes.size”,它将返回其拥有的票数。但是,票数是另一张桌子,因此我认为需要进行某种形式的合并,但我不确定如何进行。我需要的是一个可以这样显示的漂亮的有

  • 问题内容: 我已经看到了许多有关如何获取CSV文件然后创建带有标题作为键的关联数组的示例。 例如: 它会创建一个Array,如 这里将是品牌,型号,部件,测试。 因此,如果我想访问测试值“ 434”,则必须循环数组中的每个索引,然后忽略所有非本田品牌和任何非思域车型 我需要做的是最直接地访问值,而不是通过遍历每个$ num索引的for循环来运行。我希望能够通过以下方式访问值测试“ 434”: 或通