PHP数组和json_encode(用逗号分隔)

PHP array and json_encode (separated with comma)

本文关键字:分隔 encode 数组 json PHP      更新时间:2023-11-17

我真的很想把PHP数组转换成JavaScript数组,并把它转换成正确的格式。这就是我的

我的PHP数组存储在$data中(这来自SQL服务器查询),我正在使用json_encode将其转换为JavaScript数组。

这是代码$javaarray = json_encode($data);当我echo时,结果就是我得到的

{"VERTICAL":"PROVISIONING","dcount":381890}
{"VERTICAL":"BILL DELIVERY","dcount":171169}
{"VERTICAL":"BILLING","dcount":45197}
{"VERTICAL":"RISK AND CREDIT","dcount":51533}
{"VERTICAL":"CUSTOMER ACCOUNTING","dcount":136097}
{"VERTICAL":"AIRTEL MONEY","dcount":7826}
{"VERTICAL":"ANALYTICS","dcount":2946}
{"VERTICAL":"CONTROLS","dcount":5615}

现在,我只想获得dcount部分,以以下格式将其反馈给我的jQuery函数

[381890,171169,45197,51533,136097,7826,2946,5615]

我试着使用implode(), join(),但不知何故,我甚至没有接近上面的格式。

我正在张贴

$array = array($data); 
print_r($array);

结果也是

Array ( [0] => Array ( [VERTICAL] => PROVISIONING [dcount] => 381890 ) ) Array ( [0] => Array ( [VERTICAL] => BILL DELIVERY [dcount] => 171169 ) ) Array ( [0] => Array ( [VERTICAL] => BILLING [dcount] => 45197 ) ) Array ( [0] => Array ( [VERTICAL] => RISK AND CREDIT [dcount] => 51533 ) ) Array ( [0] => Array ( [VERTICAL] => CUSTOMER ACCOUNTING [dcount] => 136097 ) ) Array ( [0] => Array ( [VERTICAL] => AIRTEL MONEY [dcount] => 7826 ) ) Array ( [0] => Array ( [VERTICAL] => ANALYTICS [dcount] => 2946 ) ) Array ( [0] => Array ( [VERTICAL] => CONTROLS [dcount] => 5615 ) )

试试这样的

$dcounts = array();
foreach ($data as $row) {
   $dcounts[] = $row['dcount'];
}
$javaarray = json_encode($dcounts);
$dcounts = json_encode(array_map(function($v) { return $v['dcount'] }, $javaarray));
$data = '{"VERTICAL":"PROVISIONING","dcount":381890}
{"VERTICAL":"BILL DELIVERY","dcount":171169}
{"VERTICAL":"BILLING","dcount":45197}
{"VERTICAL":"RISK AND CREDIT","dcount":51533}
{"VERTICAL":"CUSTOMER ACCOUNTING","dcount":136097}
{"VERTICAL":"AIRTEL MONEY","dcount":7826}
{"VERTICAL":"ANALYTICS","dcount":2946}
{"VERTICAL":"CONTROLS","dcount":5615}';
//split data into array
$keywords = preg_split("/['n]+/", $data);
//convert into proper json format
$jsonobject = implode(',',$keywords);
$jsonobject = '['.$jsonobject.']';
//convert json into array
$array = json_decode($jsonobject);
//for each and save dcount value
$dcount = array();
foreach($array as $row){
    $dcount[] = $row->dcount;
}
//again convert dcount values into json
$dcountjson = json_encode($dcount);
print_r($dcountjson);