2013-11-28 3 views
-1

Я буквально взламываю голову, чтобы скрыть массив PHP до массива JavaScript и преобразовать его в правильном формате. Это то, что у меня естьPHP array и json_encode (разделенные запятой)

Мой массив PHP хранится в $data (это происходит из запроса SQLserver), который я преобразовываю в массив JavaScript, используя json_encode.

Вот код $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); 
Смежные вопросы