【问题标题】:Removing array values without losing quotes [duplicate]删除数组值而不丢失引号[重复]
【发布时间】:2016-09-15 20:27:45
【问题描述】:

我的数组:

$val=array('a','b','c');
echo json_encode($val);

输出:["a","b","c"]

使用 unset 从位置 '1' 中删除“b”:unset($val[1]);

输出:{"0":"a","2":"c"}

期望输出为:["a","c"]

有什么解决办法吗?摆脱键和花括号并按预期获得输出!

【问题讨论】:

    标签: php arrays json unset


    【解决方案1】:

    使用array_splice() array_splice($val, 1, 1); 而不是unset($val[1]);

    $val=array('a','b','c');
    array_splice($val, 1, 1);
    echo json_encode($val);
    

    Test Here.

    【讨论】:

      【解决方案2】:

      您需要重置数组键。检查这个:

      <?php
      
      $val=array('a','b','c');
      echo json_encode($val);
      
      unset($val[1]);
      
      echo json_encode($val); //outputs {"0":"a","2":"c"}
      
      
      $val = array_values($val); //reset array keys
      echo json_encode($val); //outputs ["a","c"]
      

      【讨论】:

      • 非常感谢!脚本有效。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-24
      • 1970-01-01
      • 1970-01-01
      • 2019-06-04
      • 1970-01-01
      • 1970-01-01
      • 2018-05-06
      相关资源
      最近更新 更多