2013-07-03 66 views
1

我在php中使用SLIM製作了一個API。我使用curl通過傳遞一些參數來調用API。我已經通過了多個參數,當我打印出來的給了我這樣的:如何檢索Json發佈數據

"name=%2Fvar%2Fwww%2Ftest%2FAPI%2F1jpg&cwt=1&fwt=1&swt=1&twt=1&dwt=1&slwt=1" 

的多個變量是由「&」我怎樣才能得到「名稱」變量「擔」變量seperately分隔?

我的代碼調用API是:

$url='http://......./API/index.php/search'; 
$data=array ("name"=>"/var/www/test/API/1jpg","cwt"=>"1","fwt"=>"1","swt"=>"1","twt"=>"1","dwt"=>"1","slwt"=>"1"); 
$response=sendPostData($url,$data); 
function sendPostData($url,$post){ 
$ch=curl_init($url); 
curl_setopt($ch,CURLOPT_CUSTOMREQUEST,"POST"); 
curl_setopt($ch,CURLOPT_POSTFIELDS,http_build_query($post)); 
curl_exec($ch); 

我的API:

require 'Slim/Slim.php'; 
    \Slim\Slim::registerAutoloader(); 
    $app=new \Slim\Slim(); 
    $app->post('/search',function() use($app){ 
    $result=($app->request()->getBody()); 
    $final=json_encode($result); 
    echo $final; 

}); 
$app->run(); 

我如何打印的名稱,英擔,TWT和seperately所有的變量?

回答

0

一個字符串,最好的方法就是分裂這樣

$pizza = "piece1&piece2&piece3&piece4&piece5&piece6"; 
$pieces = explode("&", $pizza); 
echo $pieces[0]; // piece1 
echo $pieces[1]; // piece2 

字符串然後你可以用「=」號再次分裂他們的鑰匙從分隔值和重組它們放入一個Multidimentiional陣列

我用這個作爲我的做法

然後使用英擔值數組鍵在您的情況Multidimentional Arrays和功能Array Functions

+0

它沒有幹活得到一個錯誤數組字符串轉換 – user1583647

2

查找http://www.php.net/manual/en/function.parse-str.php

它應該是:

$string = urldecode("name=%2Fvar%2Fwww%2Ftest%2FAPI%2F1jpg&cwt=1&fwt=1&swt=1&twt=1&dwt=1&slwt=1"); 
$vars = array(); 
parse_str($string, $vars); 

print_r($vars); 

它會給你:

Array ([name] => /var/www/test/API/1jpg [cwt] => 1 [fwt] => 1 [swt] => 1 [twt] => 1 [dwt] => 1 [slwt] => 1)