[PHP] 투입 변수가 숫자인지 확인 해주는 is_numeric 함수를 알아보자
PHP 에서 변수가 숫자인지 아닌지를 판단해주는 is_numeric
이라는 함수가 있습니다. 아주 간단한 함수이지만 매우 중요한 함수이므로 is_numeric
함수를 정리해봅니다.
is_numeric 함수
앞에서 말한대로 is_numeric
함수는 사용법도, 반환값도 아주 간단합니다.
$result = is_numeric( $var );
함수의 사용법은 아주 간단합니다. 숫자인지 아닌자 판단할 변수를 함수의 파라미터로 넣어주면 됩니다. 그럼 is_numeric
함수가 잘 판단해서 투입 변수가 숫자일 경우 true
를, 숫자가 아닐 경우 false
값을 반환합니다.
is_numeric 함수 활용 예제
조금더 자세한 활용법을 알아보도록 합시다.
if ( is_numeric( $var ) ) {
//투입 변수가 숫자일 때 실행할 작업들
}
else {
//투입 변수가 숫자가 아닐때 실행할 작업들
}
당연하겠지만, if
문과 함께 활용하기 아주 좋습니다. if
문을 활용해 투입 변수가 숫자일 때 실행할 작업과, 그렇지 않을때 실행할 작업으로 나눠주는 것입니다.
is_numeric 실전 예제 feat. 워드프레스
아주 조금더 실전적인 예제를 살펴봅시다.
사용자에게 워드프레스 카테고리 슬러그 입력 받아 ID 알아내기
이런 상황을 가정해 봅시다.
워드프레스 숏코드를 하나 만드는데, 사용자에게 카테고리 ID 를 입력 받아 해당 카테고리의 포스트를 보여주는 숏코드 입니다. 그런데 사실상 카테고리의 ID 를 입력 받을 수도 있겠지만, 슬러그를 입력 받는 편이 사용자에게는 더 쉬울 수도 있겠죠?
그래서 사용자가 ID 혹은 슬러그 중 편한 것을 아무거나 입력해도 상관이 없도록 코드를 구성하기로 해봅시다.
실제로 is_numeric 사용하기
$cat = $atts['cat']
if ( is_numeric( $cat ) ) {
//is_numeric = true
//사용자가 카테고리 ID 를 입력 했을 경우
//원하는 코드를 실행함
}
else {
//is_numeric = false
//사용자가 카테고리 ID 가 아닌 슬러그를 입력한 것으로 판단해
//슬러그를 이용해 카테고리의 ID 를 찾아낸 후 원하는 코드 실행
$cat_id = get_category_by_slug( $cat )->term_id;
}
위 코드에서 중요한 부분은 else
부분(사용자가 카테고리 ID를 입력하지 않은 경우) 입니다. 이 경우에 사용자가 숫자를 입력한 것이 아니니 슬러그를 입력한 것으로 판단하고, 해당 슬러그를 이용해 카테고리의 ID 를 찾아내어 $cat_id
변수에 담아 사용하는 것입니다. 사용자가 카테고리 ID 를 입력했는지, 슬러그를 입력했는지 모르는 상황에서 is_numeric
이 큰 역할을 해주는 것입니다.
(예제에서 사용된 슬러그를 이용해 카테고리의 id 를 알아내는 get_category_by_slug
함수는 링크를 참고하세요)
댓글 남기기