PHP에서 JSON 데이터 처리는 특히 API에서 데이터를 가져 오거나 전송해야 할 때 일반적인 작업입니다. 일반적인 요구 사항 중 하나는 JSON에서 지정된 키 값 쌍을 필터링하는 것입니다. 이는 일반적으로 JSON을 PHP 배열로 변환 한 다음 해당 함수를 사용하여 처리 할 수 있습니다. 이 기사에서는 JSON_DECODE () 및 ARRAY_DIFF_KEY () 함수를 결합하여 JSON 데이터의 특정 키 값 쌍을 효과적으로 필터링하는 방법을 소개합니다.
먼저 JSON_DECODE () 함수는 JSON 형식의 문자열을 PHP 배열로 변환하는 데 사용됩니다. 이 기능의 기본 사용은 다음과 같습니다.
$json_data = '{"name": "John", "age": 30, "city": "New York"}';
$data = json_decode($json_data, true); // 두 번째 매개 변수 true 반환 결과를 배열로 두십시오
위의 코드에서 $ json_data 는 JSON 문자열이며 JSON_DECODE () 는 PHP 배열 $ 데이터 로 변환합니다. 변환 된 배열은 다음과 같습니다.
Array
(
[name] => John
[age] => 30
[city] => New York
)
JSON 데이터가 배열로 변환되면 Array_Diff_Key () 함수를 사용하여 원치 않는 키 값 쌍을 필터링 할 수 있습니다. 이 기능은 두 배열의 키를 비교하고 두 번째 배열에 있지 않은 첫 번째 배열에서 키 값 쌍을 반환합니다.
위의 배열에서 나이 와 도시 키를 제거하고 이름 키만 남겨두고 싶다고 가정하십시오. 우리는 이것을 할 수 있습니다 :
$keys_to_keep = ['name' => null]; // 유지 될 키
$filtered_data = array_diff_key($data, $keys_to_keep);
그러나 array_diff_key () 함수는 키 값 쌍이 제거 된 배열을 반환하므로 여기의 코드가 혼란 스러울 수 있습니다. 오해를 피하기 위해 삭제할 키를 반대로 작동함으로써 특정 키를 유지할 수 있습니다.
$keys_to_remove = ['age' => null, 'city' => null]; // 제거 할 키
$filtered_data = array_diff_key($data, $keys_to_remove);
이러한 방식으로 $ Filtered_Data는 이름 키에 해당하는 값 만 포함합니다.
Array
(
[name] => John
)
API의 JSON 데이터가 있고 우리가 관심있는 부분을 걸러 내기를 희망한다고 가정 해 봅시다. 보다 구체적인 예는 다음과 같습니다.
// 우리가 일부 출신이라고 가정합니다 URL 얻었다 JSON 데이터
$json_url = "https://m66.net/api/user_data"; // 실제로 교체하십시오 URL
$json_data = file_get_contents($json_url);
// 할 것이다 JSON 데이터解码为 PHP 정렬
$data = json_decode($json_data, true);
// 우리가 필요하다고 가정합니다 user_id 그리고 user_name 이 두 분야
$keys_to_keep = ['user_id' => null, 'user_name' => null];
// 사용 array_diff_key 筛选需要的데이터
$filtered_data = array_diff_key($data, $keys_to_keep);
// 输出筛选后的데이터
print_r($filtered_data);
이 예에서는 file_get_contents () 함수는 지정된 URL에서 JSON 데이터를 가져와 json_decode ()를 통해 PHP 배열로 변환합니다. 그런 다음 Array_Diff_Key ()를 사용하여 필요한 필드를 필터링하고 마지막으로 필터링 된 데이터를 인쇄하십시오.
JSON_DECODE () 및 ARRAY_DIFF_KEY () 함수를 결합하여 JSON 데이터에서 지정된 키 값 쌍을 쉽게 필터링 할 수 있습니다. JSON_DECODE () 는 JSON 문자열을 PHP 배열로 변환하는 책임이 있으며 Array_Diff_Key ()는 원치 않는 키를 제거하여 필요한 데이터를 얻는 데 도움이됩니다. 이 접근법은 API 통화 결과를 처리 할뿐만 아니라 JSON 데이터에서 추출하기 위해 특정 정보가 필요한 모든 시나리오에서 널리 사용될 수 있습니다.