删除数组值而不丢失引号[重复]

Posted

技术标签:

【中文标题】删除数组值而不丢失引号[重复]【英文标题】: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"]

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

【问题讨论】:

【参考方案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"]

【讨论】:

非常感谢!脚本有效。

以上是关于删除数组值而不丢失引号[重复]的主要内容,如果未能解决你的问题,请参考以下文章

从“默认字典”更新值而不删除其键[重复]

Backbone:删除模型而不丢失视图

如何在 Swift 3 中将 HTML 文本转换为属性字符串而不丢失换行符 [重复]

保存 4D 数组而不丢失其格式

如何从 hg repo 中删除变更集而不丢失之后提交的变更集

PYSPARK:-在数据框中爆炸数组而不丢失空值:'DataFrame'对象没有属性'_get_object_id'