2014-10-22 6 views
1

저는 초보자이며 JSON 구문 분석에 문제가 있습니다. 다음은 PHP JSON 구문 분석

내가 구문 분석 할 JSON 배열입니다 : 내가 시도 1.

배열의 균형을 얻으려면

array (size=3) 
    'status' => string 'success' (length=7) 
    'message' => string '' (length=0) 
    'data' => 
    array (size=2) 
     0 => 
     array (size=2) 
      'asset' => string 'ONESATOSHI' (length=10) 
      'balance' => string '0.0000001' (length=9) 
     1 => 
     array (size=2) 
      'asset' => string 'XCP' (length=3) 
      'balance' => string '150333.69737005' (length=15) 

을이 :

function xcp_balance($wallet) 
{ 
    $jarr = json_decode(file_get_contents('http://xcp.blockscan.com/api2.aspx?module=address&action=balance&btc_address='.$wallet),true); 

    $balance = $jarr['data'][1]['balance']; 

    if (is_numeric($balance)) { 
     return $balance; 
    } else { 
     return 0; 
    } 

} 

$wallet = '1NFeBp9s5aQ1iZ26uWyiK2AYUXHxs7bFmB'; 
xcp_balance($wallet); 

하지만하지 일. 친절하게 도와주고 제 언어에 사과드립니다.

답변

4

작동합니다. 당신은 단지 반환 값 에코 깜빡 :

function xcp_balance($wallet) { 

    $jarr = json_decode(file_get_contents('http://xcp.blockscan.com/api2.aspx?module=address&action=balance&btc_address='.$wallet),true); 
    $balance = $jarr['data'][1]['balance']; 

    if (is_numeric($balance)) { 
     return $balance; 
    } else { 
     return 0; 
    } 

} 

$wallet = '1NFeBp9s5aQ1iZ26uWyiK2AYUXHxs7bFmB'; 
echo xcp_balance($wallet); // 150333.69737005 
//^echo it 

Working here

을 그리고 먼저 해당 인덱스의 존재를 확인하기 위해 더 좋을 수 있습니다! 선생님 많이

function xcp_balance($wallet) { 

    $jarr = json_decode(file_get_contents('http://xcp.blockscan.com/api2.aspx?module=address&action=balance&btc_address='.$wallet),true); 
    $balance = (isset($jarr['data'][1]['balance']) && is_numeric($jarr['data'][1]['balance']) ? $jarr['data'][1]['balance'] : 0); 

    return $balance;  
} 
+0

감사 당신은 나를 저장 한 많은 두통. 내 따뜻한 당신에 게 감사. –

+0

@ user2507910 확실한 문제가 없습니다. 기꺼이 도와 줘서 고마워. – Ghost