php - 将带方括号的字符串转换为 PHP 数组

标签 php arrays

我有一个字符串,值在括号中并用逗号分隔,如数组字符串:

例子:

[[["Name" , "ID"] , [12]] , ["Test" , 78] , 0]

如何将这个字符串转换成PHP数组?

最佳答案

那是一个 JSON数组的字符串表示,使用 json_decode():

$array = json_decode($string);    
print_r($array);

产量:

Array
(
    [0] => Array
        (
            [0] => Array
                (
                    [0] => Name
                    [1] => ID
                )
            [1] => Array
                (
                    [0] => 12
                )
        )
    [1] => Array
        (
            [0] => Test
            [1] => 78
        )
    [2] => 0
)

如果它有任何 { } 将是一个对象并在 PHP 中解码为 stdClass 对象,除非您将 true 传递给 json_decode() 强制一个数组。

由于它的结构是一个 PHP 数组(从 PHP 5.4 开始),这也适用(不要对不受信任的数据使用 eval)。 绝对没有理由这样做,这只是说明性的:

eval("\$array = $string;");
print_r($array);

关于php - 将带方括号的字符串转换为 PHP 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24440020/

相关文章:

PHP、MYSQL、EXPLODE 和 ARRAYS

php - "Notice: Undefined variable"、 "Notice: Undefined index"、 "Warning: Undefined array key"和 "Notice: Undefined offset"使用 PHP

arrays - 带重复的部分排列。列出所有解决方案算法

Python - 连接或堆叠两个以上不同形状的数组

php - Paypal ,添加到购物车 - 我可以同时销售产品和订阅吗?

php - 作为报价收到的 JSON(带有 ""标记)

PHP 在远程网页中搜索字符串

php - Laravel 4::返回模型及其关系

检查 C 中的数组是否对称

c++ - 使用(4 字节) `int` 表示数字和使用 4 元素无符号字符数组表示数字之间是否存在性能差异?