2013-11-28 67 views
-1

我从字面上破解我的头隐蔽PHP的数组的JavaScript数组转换同样以正确的格式。这是我的PHP阵列和json_encode(用逗号分隔)

我的PHP数组存储在$data(这来自SQLserver查询),我正在使用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))

+3

在哪种语言做你需要建立dcounts的阵列? – Aioros

+0

Java作为我需要传递给我的Java函数... –

+0

Javascript功能来精确.. –

回答

1

尝试是这样的

$dcounts = array(); 

foreach ($data as $row) { 
    $dcounts[] = $row['dcount']; 
} 

$javaarray = json_encode($dcounts); 
1
$dcounts = json_encode(array_map(function($v) { return $v['dcount'] }, $javaarray)); 
+0

始终是一个很好的初步实践,提供你的代码的一些解释。 – DontVoteMeDown

+0

Upvote漂亮的一个班轮 – bumperbox

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