2012-08-03 3 views
1

나는이 예 오류 - PHP

http://code.google.com/p/oauth-php/wiki/ConsumerHowTo#OAuth_Consumer 

그리고 소비자 페이지에 내가 JSON 인코딩 된 문자열로 PARAMS을 전달하고

를 사용하여 PHP에서의 OAuth API를 만들었습니다.
$key = '35345345345vertrtertert'; // fill with your public key 
$secret = 'h rtyrtyr767567567567'; // fill with your secret key 
$url = "www.server.com/serverurl.php"; 

$options = array('consumer_key' => $key, 'consumer_secret' => $secret); 
OAuthStore::instance("2Leg", $options); 

$method = "POST"; 
$params = array(
      'radius' => '50', 
      'latitude'=>'13.35', 
      'longitude'=>'17.35' 
    ); 
$params = json_encode($params); 

그리고 서버 페이지에서

(즉 serverurl.php는)

print_r($_REQUEST); 

를 사용하여 요청을 인쇄하고 그리고 난 JSON 디코딩을 사용하여 문자열을 디코딩하지만

Array 
(
    [radius] => 50 
    [latitude] => 13_35 
    [longitude] => 17_35 
) 
이 값을 얻고있다

.은 위도와 경도가 _으로 바뀝니다. 어떻게 관리 할 수 ​​있습니까?

+0

일관되게 그렇게하고 있다면'str_replace()'를 실행하십시오. 해킹 된 솔루션이지만 작동 할 것입니다. – Matt

+0

하지만 그게 좋은 해결책이라고 생각하지 않습니다 :) – Warrior

답변

1

인코딩/디코딩 프로세스의 라인을 따라 어딘가에 값이 파싱되는 것으로 보입니다. 이 값을 숫자로 사용하려면 배열의 themn을 문자열로 설정하지 않아야합니다. 이것을 시도하십시오

$params = array(
    'radius' => 50, 
    'latitude'=> 13.35, 
    'longitude'=> 17.35 
); 

인코딩 프로세스에서 숫자로 처리되도록 숫자 주변의 인용 부호를 제거했습니다.

+0

따옴표를 제거하면 foreach ($ _ 요청은 $ key => $ 값) { \t $ array_val = $ key; } $ decode_val = json_decode ($ array_val, true); print_r ($ decode_val); 이 코드는 아무 것도 출력하지 않습니다 – Warrior

+0

@Warrior json_encode가 수행 된 후에'var_dump ($ params)'에 어떤 가치가 있습니까? –

+0

문자열 (48) "{"반지름 ": 50,"위도 ": 13.35,"경도 ": 17.35}" – Warrior