2014-12-02 79 views
0

我有一個HTML頁面,該頁面在PHP中創建新的字符串JSON,當我提交表單我送AJAX的數據是這樣的:從Ajax調用

array(7) { ["idfornitore"]=> string(1) "1" ["criterio-5"]=> string(1) "4" ["voto-5"]=> string(1) "1" ["parziale-5"]=> string(1) "4" ["criterio-3"]=> string(1) "2" ["voto-3"]=> string(1) "3" ["parziale-3"]=> string(1) "6"} 

例子:

["criterio-5"] => string(1) "4" ["voto-5"]=> string(1) "1" ["parziale-5"]=> string(1) "4" 
["criterio-5"] => is "weight of criterio5" 
["voto-5"]  => is "value of criterio5" 
["parziale-5"] => is "totale of criterio5" (weight * value) 

我的服務PHP這樣做:

$totale = 0; 
foreach ($_POST as $key => $value) { 
    if (strstr($key, "parziale")) { 
     $totale = $totale + $value; 
    } 
} 

==================================

我會scorrermi陣列並形成如此「做了​​一個JSON字符串:

{  
    "parziali": [ 
     {"idcriterio": "5", "peso": "4" , "voto": "1", "parziale": "5" }, 
     {"idcriterio": "3", "peso": "2" , "peso": "3", "peso": "6" } 
    ] 
} 

我該怎麼辦?

+2

我不知道你打算如何從你的foreach函數計算出一個總的JSON字符串。 – Ohgodwhy 2014-12-02 17:34:21

回答

0

這類似於建立XML元素 - 建立{搜索標準,博託,parziale},其中標籤爲後綴的搜索標準值的元組

$tuples = array(); 
foreach ($input as $key => $value) { 
    list($field, $suffix) = explode($key); 
    if ($field === 'idcriterio') { 
     $tuples[$suffix] = $suffix; 
     $tuples['peso'] = $value; 
    } 
    else { 
     $tuples[$suffix][$field] = $value; 
    } 
} 

$json = json_encode($tuples); 

我不明白怎麼parziale計算,但你得到的想法