简体   繁体   中英

PHP array and json_encode (separated with comma)

I am literally cracking my head to covert the PHP array to JavaScript array and convert the same in the correct format. This is what I have

My PHP array is stored in $data (this comes from a SQLserver query) which I am converting to a JavaScript array using json_encode .

Here is the code $javaarray = json_encode($data); When I echo the result this is what I am getting

{"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}

Now I want to get the dcount part only to feed it back to my jQuery function in the following format

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

I tried working around with implode(), join() but somehow not getting even closer to the above format.

I am posting the

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

result also

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

Try something like this

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM