Php数组和json

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":""}] 
+0

欧凯其可能的,只是让两个不同的阵列,并在年底将它们合并,并对其进行编码 –

+1

什么你正在试图做的显然要比简单的转换更JSON,因为你已经做到了,并且不满意。在这种情况下,你需要用'foreach'自己做。向我们展示您的最佳尝试,或者通过回答自己的问题,如果您成功了,或者在失败时作为附加信息。 –

+0

我可以给你一个例子与你的数组,我应该? –

例你怎么能做到e数组中的json。将数据收集到两个不同的数组中,并在循环之后将它们存储并将结果存储在另一个数组中,然后对它们进行编码。

注意:您所需的JSON不是有效格式,不能对两个数据使用相同索引 。

在线例子:https://3v4l.org/kdPDI

$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);