objects [{"a":"b"}] 和 non-bracketed objects {"a":"b"} 在 PHP
Confusion around bracketed objects [{"a":"b"}] and non-bracketed objects {"a":"b"} in PHP
在 returned 之前,我在 PHP 中获得了 AJAX 结果 json_encode($result);
。
最初数据 returned 看起来像这样:
[{"ID":"4066","post_title":"TATTOO SLEEVES"}]
注意它有 [ ] 括号!!
然后我会解析 JSON 数据并使用它。
data = $.parseJSON(data);
但是,我需要 return 一个额外的值,所以在 returning 之前的 AJAX 钩子中我添加了:
$sql_search["sql_search_count"] = $sql_search_count;
现在我的数据突然 return 变成这样:
{"0":{"ID":"4066","post_title":"TATTOO SLEEVES"},"sql_search_count":"1"}
没有更多 [ ] 括号!
我正在尝试拆分这些数据;获取“0”字符串部分,然后像以前一样将其推入 $.parseJSON(data);
。但我似乎无法找到方法。
为什么有时有 [ ] 括号有时没有?
如何在周围带有 [ ] 的新变量中获取“0”字符串?
我尝试了以下方法:
$sql_search[0]["sql_search_count"] = $sql_search_count;
但这给了我一个错误...
如果我把它改成 $sql_search[0]->sql_search_count = $sql_search_count;
就可以了。
但它不是不在顶层,它变成了第一个结果的 child 像这样:
[{"ID":"4066","post_title":"TATTOO SLEEVES","sql_search_count","1"}]
做
$sql_search[0]["sql_search_count"] = $sql_search_count;
在您的 PHP 代码中,它将像以前一样开始工作。缺少括号的原因是
$sql_search["sql_search_count"] = $sql_search_count;
将要求 PHP 将名为 sql_search_count
的键包含到 $sql_search
变量中。既然是数组,直接不行。它会将其转换为您现在看到的格式。
在 returned 之前,我在 PHP 中获得了 AJAX 结果 json_encode($result);
。
最初数据 returned 看起来像这样:
[{"ID":"4066","post_title":"TATTOO SLEEVES"}]
注意它有 [ ] 括号!!
然后我会解析 JSON 数据并使用它。
data = $.parseJSON(data);
但是,我需要 return 一个额外的值,所以在 returning 之前的 AJAX 钩子中我添加了:
$sql_search["sql_search_count"] = $sql_search_count;
现在我的数据突然 return 变成这样:
{"0":{"ID":"4066","post_title":"TATTOO SLEEVES"},"sql_search_count":"1"}
没有更多 [ ] 括号!
我正在尝试拆分这些数据;获取“0”字符串部分,然后像以前一样将其推入 $.parseJSON(data);
。但我似乎无法找到方法。
为什么有时有 [ ] 括号有时没有?
如何在周围带有 [ ] 的新变量中获取“0”字符串?
我尝试了以下方法:
$sql_search[0]["sql_search_count"] = $sql_search_count;
但这给了我一个错误...
如果我把它改成 $sql_search[0]->sql_search_count = $sql_search_count;
就可以了。
但它不是不在顶层,它变成了第一个结果的 child 像这样:
[{"ID":"4066","post_title":"TATTOO SLEEVES","sql_search_count","1"}]
做
$sql_search[0]["sql_search_count"] = $sql_search_count;
在您的 PHP 代码中,它将像以前一样开始工作。缺少括号的原因是
$sql_search["sql_search_count"] = $sql_search_count;
将要求 PHP 将名为 sql_search_count
的键包含到 $sql_search
变量中。既然是数组,直接不行。它会将其转换为您现在看到的格式。