[PHP] PHP 함수 - 가장 가까운 큰 정수 구하는 함수 = ceil 함수

반응형



소수점에서 가장 가까운 큰 정수 구하는 함수 ceil 함수...ㅋㅋ

음... 이게 어떤거냐하면~
일단 PHP.net 에서 API를 찾아보자 ㅋㅋ

읽기전에 손가락 한번 클릭~ >_<

고마워요 ~ Chu ~ ♥




자료형은 float 형이고 함수명은 ceil ...
소수점 아래에서 올림해서 다음으로 가장 높은 정수를 반환합니다.???????

이글만 보면 도대체 무슨 소리 하는지 알 수가 없다 ;;;

그래서 그림으로 그려봤다.



요건 API 의 예제 설명...




그림에서 처럼 4.X 값이면 4보다 큰 정수 ....
즉 5를 반환 한다.

4.1 도 마찬가지고 4.000000001 도 마찬가지....
그러니까 수학에서 무조건 '올림' 이라고 생각하면 될듯...


근데 이 함수를 어디에다 쓰냐고???

우선,
PHP 로 만든 계층형 게시판 에서 부모글-자식글의 형태를 잠깐 봐야할듯..
이것도 그림으로 ~ 뿅~



일단 글 번호는 데이터베이스 내에 저장되어 있는 정수형 값이다.

일단 게시판이 이런식으로 설계되어 있다면,
첫번째 글은 번호 100번
두번재글은 번호 200번
세번재글은 번호 300번
             .
             .
             .
             .
아홉째글은 번호 900번


그리고,
첫번째 글의 첫번째 댓글은 199
첫번째 글의 두번째 댓글은 198
첫번째 글의 세번째 댓글은 197
......
두번째 글의 첫번째 댓글은 299
두번째 글의 두번째 댓글은 298
             .
             .
             .
             .


이런식으로 되어 있다.

하지만 여기서 한가지 문제점이 있다.
무엇이냐?
만일 이 상태에서 댓글이 있는 원본글인 두번째 글이 삭제된다면?


이렇게 되어 있을 것이다.

그런 다음, 새로운 글을 새로 쓴다면???
글 번호를 '200' 으로 하면 되겠지만 , 삭제되기전의 글인 '200' 번호글에 댓글 '299' 가 있기 때문에
새로운 글은 글 번호 '400' 으로 해야 할듯..


그러므로 가장 큰 글번호를 구한 뒤 [ ex ) = max(글번호) ]
이 글 번호를 소수점으로 형변환을 한다 [ ex ) = 가장큰 글 번호값 / 100.0 ]
그런 뒤
ceil 함수를 이용하여 최대값을 구하면 되겠다..ㅋㅋ
그런 뒤 원본 값에 다시 100을 곱해주면 된다. [  ex ) = 구한값 * 100 ]

여기에선 최대 글 번호가 '300' 이므로 300을 구한 뒤
300 / 100.0 = 3.0
ceil(3.0) = 4.0
4.0 * 100 = 400

그렇다면 최대값 글을 구할 수 있다. ^^;;

 




반응형

댓글

Designed by JB FACTORY