2014-03-03 2 views
-1

행운을 빌어이 배열의 특정 부분에 액세스하려고했습니다. Array의 특정 부분에 액세스 PHP

{"id":"ch_103axT2Yi0i8jQz2P2D7If2f","object":"charge","created":1393812736, 
"livemode":false,"paid":true,"amount":2000,"currency":"usd","refunded":false, 
"card":{"id":"card_103axT2Yi0i8jQz2tEhrmDqQ","object":"card","last4":"4242", 
"type":"Visa","exp_month":12,"exp_year":2014,"fingerprint":"LcHz1FF8ePddYI7R", 
"customer":"cus_3axTh2yyzxxGdh","country":"US","name":"Jason Wallace", 
"address_line1":"","address_line2":"","address_city":"","address_state":" ", 
"address_zip":"","address_country":"US","cvc_check":"pass", 
"address_line1_check":"pass","address_zip_check":"pass"},"captured":true, 
"refunds":[],"balance_transaction":"txn_103axT2Yi0i8jQz2BTUXNFnB", 
"failure_message":null,"failure_code":null,"amount_refunded":0, 
"customer":"cus_3axTh2yyzxxGdh","invoice":null,"description":null, 
"dispute":null,"metadata":[]} 

내가 액세스하려고 한 특정 필드

은 [이름, 이메일, address_line1, address_line2, address_city, address_state, address_zip, address_country을]입니다. 배열 개체 형식으로 있으며 구문을 올바르게 얻을 수 없습니다. 어떤 도움을 주시면 감사하겠습니다. 감사.

+0

시도한 것을 게시하십시오. –

+0

인코딩 된 jason : http : //codepad.viper-7.com/yzSdD8 –

답변

0
$json = '{"id":"ch_103axT2Yi0i8jQz2P2D7If2f","object":"charge","created":1393812736, 
"livemode":false,"paid":true,"amount":2000,"currency":"usd","refunded":false, 
"card":{"id":"card_103axT2Yi0i8jQz2tEhrmDqQ","object":"card","last4":"4242", 
"type":"Visa","exp_month":12,"exp_year":2014,"fingerprint":"LcHz1FF8ePddYI7R", 
"customer":"cus_3axTh2yyzxxGdh","country":"US","name":"Jason Wallace", 
"address_line1":"","address_line2":"","address_city":"","address_state":" ", 
"address_zip":"","address_country":"US","cvc_check":"pass", 
"address_line1_check":"pass","address_zip_check":"pass"},"captured":true, 
"refunds":[],"balance_transaction":"txn_103axT2Yi0i8jQz2BTUXNFnB", 
"failure_message":null,"failure_code":null,"amount_refunded":0, 
"customer":"cus_3axTh2yyzxxGdh","invoice":null,"description":null, 
"dispute":null,"metadata":[]}'; 
$json_decode = json_decode($json); 
echo $json_decode->card->address_country; 

See it in action

+0

그게 효과가있어, 방금 이름 변수를 사용해 보았습니다. 이것을 나머지 값에도 적용 할 수 있습니다. 감사. –

0

먼저 당신은 json_decode와 JSON 배열을 디코딩 할 필요가 당신은 다음과 같은 배열에 액세스 할 수 있습니다.

/* The Json encoded data */ 
$json = '{"id":"ch_103axT2Yi0i8jQz2P2D7If2f","object":"charge","created":1393812736, 
"livemode":false,"paid":true,"amount":2000,"currency":"usd","refunded":false, 
"card":{"id":"card_103axT2Yi0i8jQz2tEhrmDqQ","object":"card","last4":"4242", 
"type":"Visa","exp_month":12,"exp_year":2014,"fingerprint":"LcHz1FF8ePddYI7R", 
"customer":"cus_3axTh2yyzxxGdh","country":"US","name":"Jason Wallace", 
"address_line1":"","address_line2":"","address_city":"","address_state":" ", 
"address_zip":"","address_country":"US","cvc_check":"pass", 
"address_line1_check":"pass","address_zip_check":"pass"},"captured":true, 
"refunds":[],"balance_transaction":"txn_103axT2Yi0i8jQz2BTUXNFnB", 
"failure_message":null,"failure_code":null,"amount_refunded":0, 
"customer":"cus_3axTh2yyzxxGdh","invoice":null,"description":null, 
"dispute":null,"metadata":[]}'; 

/* Json decode the encoded data */  
$data = json_decode($json, true); 
$data = $data['card']; 

/* Return the wanted values */ 
echo 'name: '   . $data['name']; 
echo 'address line 1: ' . $data['address_line1']; 
echo 'address line 2: ' . $data['address_line2']; 
echo 'address city: ' . $data['address_city']; 
echo 'address state: ' . $data['address_state']; 
echo 'address zip: '  . $data['address_zip']; 
echo 'address country: ' . $data['address_country']; 
관련 문제