在 php 中包含一个用于 json 编码的循环
include a loop in php for json encode
我的 JSON 代码有问题。我想附和这个:
[{"post_title":"hospital-name","term_taxonomy_id":"15,16,20"},
{"post_title":"hospital-name","term_taxonomy_id":"15,16,20"} ]
我编码了这个:
$stmt->execute();
$myarr = array();
while ($data = $stmt->fetch()) {
$myarr[] = array(
'post_title' => $data['post_title'],
'term_taxonomy_id' => $data['term_taxonomy_id'],
);
}
echo json_encode($myarr, JSON_UNESCAPED_UNICODE);
但最后表明:
[
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"125","post_title":"hospital-name-2"},
{"id":"125","post_title":"hospital-name-2"},
{"id":"125","post_title":"hospital-name-2"},
{"id":"125","post_title":"hospital-name-2"},
{"id":"125","post_title":"hospital-name-2"},
{"id":"125","post_title":"hospital-name-2"},
{"id":"125","post_title":"hospital-name-2"}
]
请帮我解决这个问题。
事实上我的循环有问题。
我希望你能在一个字符串中得到一个医院的所有 term_taxonomy_id
,以逗号分隔。
像下面一样:-
$myarr = array();
while ($data = $stmt->fetch_assoc()) {
$myarr[$data['post_title']] = array(
'post_title' => $data['post_title'],
'term_taxonomy_id' => isset($myarr[$data['post_title']]['term_taxonomy_id']) ? $myarr[$data['post_title']]['term_taxonomy_id'].','.$data['term_taxonomy_id'] : $data['term_taxonomy_id']
);
}
echo json_encode(array_values($myarr), JSON_UNESCAPED_UNICODE);
一个硬编码的例子:- https://eval.in/1051696
参考:- array_values()
我的 JSON 代码有问题。我想附和这个:
[{"post_title":"hospital-name","term_taxonomy_id":"15,16,20"},
{"post_title":"hospital-name","term_taxonomy_id":"15,16,20"} ]
我编码了这个:
$stmt->execute();
$myarr = array();
while ($data = $stmt->fetch()) {
$myarr[] = array(
'post_title' => $data['post_title'],
'term_taxonomy_id' => $data['term_taxonomy_id'],
);
}
echo json_encode($myarr, JSON_UNESCAPED_UNICODE);
但最后表明:
[
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"120","post_title":"hospital-name"},
{"id":"125","post_title":"hospital-name-2"},
{"id":"125","post_title":"hospital-name-2"},
{"id":"125","post_title":"hospital-name-2"},
{"id":"125","post_title":"hospital-name-2"},
{"id":"125","post_title":"hospital-name-2"},
{"id":"125","post_title":"hospital-name-2"},
{"id":"125","post_title":"hospital-name-2"}
]
请帮我解决这个问题。 事实上我的循环有问题。
我希望你能在一个字符串中得到一个医院的所有 term_taxonomy_id
,以逗号分隔。
像下面一样:-
$myarr = array();
while ($data = $stmt->fetch_assoc()) {
$myarr[$data['post_title']] = array(
'post_title' => $data['post_title'],
'term_taxonomy_id' => isset($myarr[$data['post_title']]['term_taxonomy_id']) ? $myarr[$data['post_title']]['term_taxonomy_id'].','.$data['term_taxonomy_id'] : $data['term_taxonomy_id']
);
}
echo json_encode(array_values($myarr), JSON_UNESCAPED_UNICODE);
一个硬编码的例子:- https://eval.in/1051696
参考:- array_values()