채택완료

json 값으로 해당 배열 찾기

2021-08-20 (금) 14:44:55 2,133
Copy
{


	"name":"php초보개발자",
	"age":"1",
	"hobby":"noting"


}

저런 json형식이 여러개로 나왔을때 예를들어 name 값으로 해당 name값이 들어있는 json배열의 값을 찾는 방법이 있을까요?

|

답변 2개 / 댓글 3개

채택된 답변
+20 포인트
2021-08-20 (금) 14:51:17

https://www.php.net/manual/en/function.json-decode.php

$tmp=json_decode( $json_string);

echo $tmp->name;

답변에 대한 댓글 3개

2021-08-20 (금) 14:56:45
name 이 php초보개발자의 age나 hobby는 어떻게...말씀해주신걸 보고 뽑아봤는데 이름만 나와서..
echo $tmp->name;
echo $tmp->age;
echo $tmp->hobby;
2021-08-20 (금) 16:06:30
감사합니다..! 가져와서 좀더 가공을 해야겠네요 ㅠ_ㅠ
2021-08-20 (금) 16:08:27
Copy
$jsonData = '
[
    {
        "name":"php초보개발자1",
        "age":"1",
        "hobby":"noting1"
    },
    {
        "name":"php초보개발자2",
        "age":"12",
        "hobby":"noting2"
    },
    {
        "name":"php초보개발자3",
        "age":"13",
        "hobby":"noting3"
    },
    {
        "name":"php초보개발자4",
        "age":"14",
        "hobby":"noting4"
    }
]';

$datas = json_decode($jsonData, true);

$bufData = array_filter($datas, function($val){
    if($val['name'] == "php초보개발자2"){
        return $val;
    }
});

print_r2($bufData);

//출력

Array
(
    [1] => Array
        (
            [name] => php초보개발자2
            [age] => 12
            [hobby] => noting2
        )

)

답변을 작성하려면 로그인이 필요합니다.