JSON 데이터를 처리 할 때 일부 필드의 값은 NAN (숫자가 아님)과 같은 일부 특별한 상황에 직면하여 적절한 처리를 수행해야합니다. PHP는 IS_NAN 함수를 제공하여 값이 NAN 인지 확인하는 데 도움이됩니다. 이 기사에서는 JSON 데이터를 처리 할 때 IS_NAN 기능을 사용하는 방법을 설명합니다.
IS_NAN 함수는 값이 NAN 인지 확인하기 위해 PHP의 내장 기능입니다. NAN은 일반적으로 0으로 0으로 나뉘어 있거나 음수의 제곱근을 취하는 등의 유효하지 않은 숫자 작업을 나타냅니다.
$is_nan = is_nan($value);
$ 값이 nan 이면 함수는 true를 반환하고 그렇지 않으면 false가 반환됩니다.
JSON 데이터를 처리 할 때는 NAN 값을 포함하는 필드를 만날 수 있습니다. 이러한 NAN 값은 일반적으로 데이터 소스의 일부 계산 오류 또는 이상으로 인해 발생합니다. JSON 데이터를 구문 분석하고 NAN 값을 찾아 적절한 처리를 수행 할 수 있습니다.
NAN 값이 포함 된 JSON 문자열이 있다고 가정합니다.
{
"value1": 123,
"value2": NaN,
"value3": 456
}
다음은 IS_NAN 함수를 사용하여 JSON 데이터의 NAN 값을 확인하는 방법을 보여주는 샘플 코드입니다.
<?php
// 예 JSON 끈
$json = '{"value1": 123, "value2": NaN, "value3": 456}';
// 할 것이다 JSON 끈解析为 PHP 정렬
$data = json_decode($json, true);
// 구문 분석 데이터를 확인하십시오 NaN 값
foreach ($data as $key => $value) {
if (is_nan($value)) {
echo "존재하다 '$key' 현장에서 발견되었습니다 NaN 값。\n";
} else {
echo "전지 '$key' 的값是有效的:$value\n";
}
}
?>
Parsing JSON 데이터 : JSON_DECODE 기능을 사용하여 JSON 문자열을 PHP 배열로 변환합니다. JSON_DECODE 함수는 JSON 문자열의 NAN 값을 NULL 로 변환합니다. 즉, 특히 이러한 종류의 상황을 처리해야합니다.
NAN 값 확인 : IS_NAN 함수를 사용하여 배열의 각 값을 확인하십시오. 값이 NAN 인 경우 해당 정보가 인쇄됩니다.
PHP에서는 JSON의 NAN 과 NULL은 두 가지 다른 개념입니다. JSON 사양은 NAN을 표현하는 방법을 명시 적으로 지정하지 않으므로 실제 응용 분야에서 NAN을 사용해야하는 경우 약간의 전환 및 처리가 필요할 수 있습니다. 예를 들어, NAN을 특정 문자열로 변환하거나 응용 프로그램의 특정 식별자로 판단합니다.
때로는 JSON 데이터가 HTTP 요청을 통해 외부 URL에서 검색됩니다. 다음은 URL에서 JSON 데이터를 얻고 NAN 값을 처리하는 예입니다.
<?php
// 우리를 가정합니다 gitbox.net 얻다 JSON 데이터
$url = 'https://gitbox.net/data.json';
$json = file_get_contents($url);
// 할 것이다 JSON 끈解析为 PHP 정렬
$data = json_decode($json, true);
// 구문 분석 데이터를 확인하십시오 NaN 값
foreach ($data as $key => $value) {
if (is_nan($value)) {
echo "존재하다 '$key' 현장에서 발견되었습니다 NaN 값。\n";
} else {
echo "전지 '$key' 的값是有效的:$value\n";
}
}
?>
위의 코드에서는 file_get_contents를 사용하여 gitbox.net 에서 JSON 데이터를 얻은 다음 NAN 값을 구문 분석하고 확인합니다.
PHP의 IS_NAN 함수를 사용하면 JSON 데이터를 처리 할 때 NAN 값을 쉽게 확인하고 처리 할 수 있습니다. 실제 개발 에서이 방법을 사용하면 신뢰할 수없는 데이터 소스에서 NAN 값을 만나면 프로그램의 견고성을 향상시키는 데 도움이 될 수 있습니다. 이 기사가 JSON 데이터를 처리 할 때 IS_NAN 기능을 사용하는 방법을 더 잘 이해하는 데 도움이되기를 바랍니다.