【问题标题】:How to remove array index from a json_encode php [duplicate]如何从 json_encode php 中删除数组索引 [重复]
【发布时间】:2014-11-07 13:01:38
【问题描述】:

我正在尝试删除在我的 json 二维数组中显示的数字。我首先有一个二维数组,它是动态的并从该数组中删除元素。然后它将数组转换为 json 二维数组。问题是我不想要开头的数字。

如下所示

[ 

"1": {"StateName":"Alaska","StateAbbr":"AK"}, 
"2": {"StateName":"Alabama","StateAbbr":"AL"}, 
"3": {"StateName":"Arkansas","StateAbbr":"AR"}, 
"4": {"StateName":"Arizona","StateAbbr":"AZ"}, 
"5": {"StateName":"California","StateAbbr":"CA"}, 
"6": {"StateName":"Colorado","StateAbbr":"CO"}, 
"7": {"StateName":"Connecticut","StateAbbr":"CT"} 

]  

我希望是这样的

[ 

{"StateName":"Alaska","StateAbbr":"AK"}, 
{"StateName":"Alabama","StateAbbr":"AL"}, 
{"StateName":"Arkansas","StateAbbr":"AR"}, 
{"StateName":"Arizona","StateAbbr":"AZ"}, 
{"StateName":"California","StateAbbr":"CA"}, 
{"StateName":"Colorado","StateAbbr":"CO"}, 
{"StateName":"Connecticut","StateAbbr":"CT"} 

]

没有数字。我该怎么做?

我尝试了 mysql_fetch_assoc 但它不起作用。

$arr = array();
while($row = mysql_fetch_assoc($result)) {
  $arr[] = $row; 
}
echo json_encode($arr);

【问题讨论】:

  • 不,二维数组中的动态键不起作用。感谢您的回复。

标签: php arrays json multidimensional-array


【解决方案1】:

我发现了如何在转换为 json 后从 2d 数组中删除键。创建函数来执行此操作。

function remove_json_keys($array) {
  foreach ($array as $k => $v) {
    if (is_array($v)) {
        $array[$k] = $this->remove_json_keys($v);
    } //if
  } //foreach
  return $this->sort_numeric_keys($array);
}

function sort_numeric_keys($array) {
    $i=0;
    foreach($array as $k => $v) {
        if(is_int($k)) {
            $rtn[$i] = $v;
            $i++;
        } else {
            $rtn[$k] = $v;
        } //if
    } //foreach
    return $rtn;
}

【讨论】:

    猜你喜欢
    • 2021-05-04
    • 2015-07-27
    • 1970-01-01
    • 1970-01-01
    • 2012-02-12
    • 2013-12-20
    • 2013-05-12
    • 1970-01-01
    相关资源
    最近更新 更多