将 jQuery 数组字符串转换为 PHP 数组
Posted
技术标签:
【中文标题】将 jQuery 数组字符串转换为 PHP 数组【英文标题】:Convert jQuery Array string to PHP Array 【发布时间】: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.
【问题讨论】:
【参考方案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
。以上是关于将 jQuery 数组字符串转换为 PHP 数组的主要内容,如果未能解决你的问题,请参考以下文章