Php数组和json
问题描述:
帮我把下面的数组转换成json。 我试图转换数组。以下代码Php数组和json
Array
(
[0] => Array
(
[c_code] => 200001
[itemname] => 303 10CAP
[c_pack_code] => PK0075
[c_web_img_link] =>
)
[1] => Array
(
[c_code] => 200005
[itemname] => 3P 4TAB
[c_pack_code] =>
[c_web_img_link] =>
)
)
目前的结果是
public function searchOrder($idx, $data) {
if (!empty($data)) {
$result = OrderbukModel::func_get_searchlist($idx,$data);
if (!empty($result)) {
$resultArray[] = $result;
print_r(json_encode($result));
} else {
$resultArray[$idx] = ["Mysql returns empty result !"];
print_r(json_encode($resultArray));
exit;
}
}
}
现在,我得到的结果是一样
[{"c_code":"200001","itemname":"303 10CAP","c_pack_code":"PK0075","c_web_img_link":""},{"c_code":"200005","itemname":"3P 4TAB","c_pack_code":"","c_web_img_link":""}]
但我需要的结果如下
[{"c_code":"2000001","c_code":"200005"},
{"itemname":"303 10CAP","itemname":"3P 4TAB"},
{"c_pack_code":"PK0075","c_pack_code":""},
{"c_web_img_link":"","c_web_img_link":""}]
答
例你怎么能做到e数组中的json。将数据收集到两个不同的数组中,并在循环之后将它们存储并将结果存储在另一个数组中,然后对它们进行编码。
注意:您所需的JSON不是有效格式,不能对两个数据使用相同索引 。
$arr = array(
array(
'c_code' => '200001',
'itemname' => '303 10CAP',
'c_pack_code' => 'PK0075',
'c_web_img_link' => ''
),
array(
'c_code' => '200005',
'itemname' => '3P 4TAB',
'c_pack_code' => '',
'c_web_img_link' => ''
)
);
$res1 = array();
$res2 = array();
foreach($arr as $val){
$res1['c_code'][] = $val['c_code'];
$res1['itemname'][] = $val['itemname'];
$res2['c_pack_code'][] = $val['c_pack_code'];
$res2['c_web_img_link'][] = $val['c_web_img_link'];
}
$out = array(array_merge($res1, $res2));
echo json_encode($out);
欧凯其可能的,只是让两个不同的阵列,并在年底将它们合并,并对其进行编码 –
什么你正在试图做的显然要比简单的转换更JSON,因为你已经做到了,并且不满意。在这种情况下,你需要用'foreach'自己做。向我们展示您的最佳尝试,或者通过回答自己的问题,如果您成功了,或者在失败时作为附加信息。 –
我可以给你一个例子与你的数组,我应该? –