2015-11-17 25 views
1

在我的服務器端,我收到以下的請求格式:PHP數組重建

"medium x 1, small x 2" 

我怎麼能以這種形式把這些數據:

array(0:{"medium"=>1},1:{"small"=>2}) 

謝謝!

+3

你想你的字符串轉換成一個數組。你有嘗試過什麼嗎?是的,然後發佈您的嘗試。 –

+0

你嘗試過什麼嗎? – Dharmang

+0

@Uchiha ya,我幾乎忘記了請求不是數組的形式。這是一個字符串。 – d3bug3r

回答

3

很簡單,利用explode()foreach() {...}循環:

$str = "medium x 1, small x 2"; 
$a = explode(",", $str); 

$data = array(); 
foreach($a as $s) { 
    list($size, $quantity) = explode('x', $s); 
    $data[] = array($size => $quantity); 
} 
// show it 
print(json_encode($data)); 

將返回:

[{"medium ":" 1"},{" small ":" 2"}] 

Demo/Example