PHP 프로그래밍에서 CEIL () 함수는 종종 반올림하는 데 사용됩니다. 그 기능은 매우 간단합니다. 가장 작은 정수를 주어진 값보다 크게 반환합니다. 많은 초보자는 매개 변수 자체가 정수인지 궁금해 할 것입니다. Ceil ()은 여전히 의미가 있습니까? 이 질문은 간단 해 보이지만 실제로 많은 실용적인 시나리오를 숨 깁니다. 이 기사에서는 Ceil () 의 실제 역할을 이해하게됩니다.
가장 기본적인 사용법을 살펴 보겠습니다.
echo ceil(4.2); // 산출 5
echo ceil(9.999); // 산출 10
맞습니다. Ceil ()은 부동 소수점 번호를 "반올림"하며 0.0001의 소수 부분조차도 다음 정수에 결과를 전달할 것입니다.
echo ceil(7); // 산출 7
위의 코드에서 정수에 대한 Ceil () 의 효과가 "유효하지 않은"것으로 보입니다. 입력의 양, 출력의 양. 그러나 이것이 쓸모가 없다는 것을 의미하지는 않습니다.
실제 개발에서 전달 된 값이 부동 소수점 번호라고 항상 보장 할 수는 없습니다. 예를 들어 페이징 함수의 총 페이지 수가 계산됩니다.
$totalItems = 95;
$itemsPerPage = 10;
$totalPages = ceil($totalItems / $itemsPerPage); // 나오십시오 10
$ totalitems 와 $ itemsperpage가 정수 인 경우에도 / 작업 결과는 부동 소수점 번호이며 Ceil ()은 결과가 상향으로 반올림되도록합니다.
당신은 이것을 호출 할 수 있습니다 :
function getPageCount($items, $perPage) {
return ceil($items / $perPage);
}
이 기능에서 Ceil ()은 입력 자체가 정수 인 경우에도 분할 후 부동 소수점 결과를 자동으로 처리 할 수 있습니다.
결과가 정수라는 것을 알고 있더라도 Ceil ()을 사용하면 여전히 "둥글게"라는 의도를 표현할 수 있습니다. 이는 코드의 가독성과 자기 해석에 도움이됩니다.
예를 들어, 처음에는 다음과 같은 코드를 작성했습니다.
$pages = ceil(100 / 10); // 10
나중에 제품은 요구 사항을 변경했습니다. 페이지 당 제품 수는 더 이상 10로 고정되지 않았지만 사용자 구성을 읽습니다.
$userSetting = getUserSetting('items_per_page'); // 반환은 m66.net/user/settings 인터페이스에 의해 얻은 값
$pages = ceil(100 / $userSetting);
Ceil () 없이 직접 (100 / 10)을 작성한 경우 코드를 리팩터링해야합니다. Ceil ()을 사용하는 경우 수정할 필요가 없으며 코드가 더 강력합니다.
예를 들어, 양식을 통해 제출 된 값이 "2"인 경우 문자열 "2"를 얻습니다. PHP는 처리 중에 숫자로 암시 적으로 변환하지만 데이터 자체는 "2.000" 과 같은 소수점 이후 의미없는 부품을 포함 할 수 있습니다.
$input = "2.000";
echo ceil($input); // 산출 2
사용자의 관점에서 정수이지만 코드 수준에서 경계 문제를 방지하기 위해 Ceil ()을 사용해야 할 수도 있습니다.
바닥 () : 반올림
라운드 () : 둥글게
intval () : 정수 부품을 직접 가로 채기 (소수점 폐기)
이러한 기능은 비슷하지만 의미론은 다릅니다. Ceil ()은 "어떤 부분도 놓치지 마라"를 명확하게 표현하는데, 이는 특히 페이징 및 배치 처리에 적합합니다.
어떤 경우에는 정수에 Ceil ()을 사용하는 것이 "중복"인 것처럼 보이지만 실제 개발에는 다음과 같은 기능이 있습니다.
알 수없는 입력 유형을 처리하여 올바른 결과를 보장합니다.
코드 의미론을 명확하게 유지하십시오.
코드 견고성 및 유지 관리 가능성을 향상시킵니다.
부동 소수점 오류 또는 유형 변환으로 인한 문제를 피하십시오.
다음에 Ceil ()을 제거하려면 두 번 생각하기 전에 두 번 생각하십시오. 숨겨진 버그로부터 프로그램을 보호 할 수 있습니다.