【问题标题】:Convert jQuery Array string to PHP Array将 jQuery 数组字符串转换为 PHP 数组
【发布时间】:2014-05-08 23:40:52
【问题描述】:

首先,我得说我对 PHP 还很陌生,我正在尝试获取一个可以在其上使用 foreach 的 PHP 对象。

下面的字符串通过 $.ajax();我正在尝试打开以下字符串:

$menu = "[
 {"title" : TEST1, "href" : #},
 {"title" : TEST2, "href" : QWERTY},
 {"title" : TEST3, "href" : QWERTY, "active" : 1}
]"

我可以在其上使用 foreach 循环的 into 和 php 对象:

foreach($menu as $li){
    echo $li['title'];
}

我是在使用最佳解决方案来创建菜单项还是应该采用另一种格式?

非常感谢您!

最好的问候, 亚历克斯 G.

【问题讨论】:

    标签: php jquery arrays json foreach


    【解决方案1】:

    这是一种 JSON 格式.. 它已损坏.. 如图所示修复您的 JSON 数据并使用 foreach 循环

    PHP

    <?php
    $menu = '[{"title" : "TEST1", "href" : "#"},
     {"title" : "TEST2", "href" : "QWERTY"},
     {"title" : "TEST3", "href" : "QWERTY", "active" : 1}]';
    
    foreach(json_decode($menu,true) as $k=>$arr)
    {
        echo $arr['title']."<br>";
    }
    

    输出:

    TEST1
    TEST2
    TEST3
    

    【讨论】:

    • 我已经尝试过 json_decode 但它不起作用。非常感谢,加上引号似乎已经解决了。
    【解决方案2】:

    试试json_decode函数

    <?php
    
           $menu = '[
     {"title" : TEST1, "href" : #},
     {"title" : TEST2, "href" : QWERTY},
     {"title" : TEST3, "href" : QWERTY, "active" : 1}
    ]';
        $test=json_decode($menu );
       print_r($test);
       foreach($test as $ts)
       {
           echo $ts['title'];
           echo "<br>";
        }
     ?>
    

    【讨论】:

    • 我应该将 TEST1、TEST2 等设置为 jquery 中的“TEST1”字符串吗?
    • @GrozavAlexIoan 看看那个字符串是 JSON 格式的。
    • 你使用了没有字符转义的双引号
    • @Let'sCode :- 嘿,那个字符串坏了。参考Shankar Damodaran's answer
    猜你喜欢
    • 2010-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-29
    • 2013-08-12
    • 2021-12-27
    • 1970-01-01
    相关资源
    最近更新 更多