json 에서 첫번째 것 고르기
본문
$json = '
{
"messages" : {
"-KVq_v373CXe7laxLWlG" : {
"date" : 1478384658515,
"text" : "밸리시마미용실 네일 661-294-9264 is deleted."
},
"-KVqa06DagtWdTGpP2Fs" : {
"date" : 1478384683289,
"k" : "밸리시마미용실 네일 ",
"text" : "밸리시마미용실 네일 has been inserted."
},
"-KVqt7Sx3Tms64JM5tz5" : {
"date" : 1478389694183,
"text" : "리딩에지 5 0 508-836-4800 is deleted."
}
}
}
';
$yummy = json_decode($json, true);
echo $yummy['messages']['-KVq_v373CXe7laxLWlG']['date']; //Maple
위와 같이 하면 되긴 되는데 [1] 첫번째를 고르면 안되고
['-KVq_v373CXe7laxLWlG'] 처럼 해야 선택이 되는데
이게 무슨 암호 같아서 예측할수 없는 문자열이라서
숫자로 [1], [2] 이런식으로 호출 할려고 하는데
어떻게 해야 하나요?
답변 2
만들면 가능이야 하겠지만
인덱스 재연산이 필요한 부분이므로 다른 방법으로도 해결이 가능하다면
인덱스기반 배열을 고수할 필요는 없다고 생각합니다.
// $yummy['messages']['-KVq_v373CXe7laxLWlG']['date']
// 의 또다른 표현은 current($yummy['messages'])['date']
// 1. 개별확인
echo current($yummy['messages'])['date'] . PHP_EOL; next($yummy['messages']);
echo current($yummy['messages'])['date'] . PHP_EOL; next($yummy['messages']);
echo current($yummy['messages'])['date'] . PHP_EOL; next($yummy['messages']);
// 2. 루프확인
foreach ($yummy['messages'] as $v) {
echo $v['date'] . PHP_EOL;
}
이렇게 해보세요
$cc = array_shift($yummy['messages']);
echo $cc[date];