2017-03-24 2 views
0

현재 요소에 액세스하는 방법을 고수했습니다. 배열의 구조는 다음과 같다 :PHP 액세스 배열 요소

{ 
"network":"BTC", 
"event_type":"address-transactions", 
"addresses":{ 
    "3PvGLecQQMnm8oB2EqLbV94LFh7FLZpgJv":0 
}, 
"data":{}, 
"retry_count":0 
} 

어떻게 값 "3PvGLecQQMnm8oB2EqLbV94LFh7FLZpgJv"을 얻을 수 있습니다. 이미 짐작 하시겠지만 이것은 일종의 콜백입니다. 지불 제공자의 lib 디렉토리가 콜백을 배열로 반환하기 때문에 값에 액세스하는 방법에 대해 완전히 혼란스러워합니다.

내가 사용하는 경우 :

$payload['addresses'][0] 

그것은

dd($payload['addresses']); 

반환 사용하여 정의되지 않은 인덱스 말한다 :

array:1 [ 
"3PvGLecQQMnm8oB2EqLbV94LFh7FLZpgJv" => 0 
] 

답변

2

, 당신은 json_decode와 배열()로 데이터에 액세스 할 수 있습니다 http://php.net/manual/fr/function.json-decode.php

제 2 매개 변수는 논리 형 : 객체가 연관 배열로 변환됩니다 돌아 왔을 때 TRUE. 그런 다음

$json = '{ 
    "network":"BTC", 
"event_type":"address-transactions", 
"addresses":{ 
     "3PvGLecQQMnm8oB2EqLbV94LFh7FLZpgJv":0 
}, 
"data":{ 
    }, 
"retry_count":0 
}'; 

$test = json_decode($json, true); 

:

foreach ($test["addresses"] as $key => $value) { 
    echo sprintf("key: %s, value %s", $key, $value); 
} 
1

PHP code demo

을 당신은 배열 값에 액세스 할 수 있습니다 여기에 정의 된 일부 인덱스와

3PvGLecQQMnm8oB2EqLbV94LFh7FLZpgJv => =>value

3PvGLecQQMnm8oB2EqLbV94LFh7FLZpgJvkey

0가 찾으려는 열쇠입니다. 이 JSON에 관해서

$string = '{ 
    "network":"BTC", 
    "event_type":"address-transactions", 
    "addresses":{ 
     "3PvGLecQQMnm8oB2EqLbV94LFh7FLZpgJv":0 
    }, 
    "data":{}, 
    "retry_count":0 
}'; 
$array = json_decode($string, true); 
echo key($array["addresses"]);