【问题标题】:How to transform an array using php?如何使用php转换数组?
【发布时间】:2018-02-06 21:22:11
【问题描述】:

我有这个数组:

{"0": {"item1": "somevalue", "item2": "somevalue"}},
{"1": {"item3": "somevalue", "item4": "somevalue"}},
{"3": {"item5": "somevalue", "item6": "somevalue"}}

使用PHP,我想将其转换为这种格式,在开始和结束处有方括号,没有数字键:

[{"item1": "somevalue", "item2": "somevalue"}},
{{"item3": "somevalue", "item4": "somevalue"}},
{{"item5": "somevalue", "item6": "somevalue"}}]

【问题讨论】:

标签: php


【解决方案1】:

您的第一个数组可能是没有连续键的 PHP 数组的结果。也许您/某人删除了密钥 2。您可以解码 JSON,重新索引数组,然后再次对其进行编码。

在代码中:

$array2 = json_encode(array_values(json_decode($array1, TRUE))); 

解释:

花括号表示 JSON 对象,如果 PHP 数组具有字符串键或非连续键,则它们将被编码为 JSON 对象。方键表示 JSON 数组。

通常json_decode 将为 JSON 对象返回一个 stdClass 对象。由于我们不希望我们将 TRUE 作为第二个参数传递,并获得一个关联数组。 array_values 从结果中“删除”键(返回键从 0 开始并向上移动的数组)。json_encode 使用您想要的方括号对结果进行编码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-07
    • 1970-01-01
    • 2017-03-29
    • 1970-01-01
    • 2012-03-03
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    相关资源
    最近更新 更多