[PHP] 문자열에서 숫자만 남기고 삭제하는 함수
[PHP] 문자열에서 숫자만 남기고 삭제하는 함수
REDINFO
약 2년전 2021-11-21 21:49:51

 

이번  헬퍼 함수는 문자열에서 숫자만 남기고 모두 삭제하는 함수이다. 

옵션으로 INT 도 있으며 해당 INT를 추가할 경우 정수만 추출할 수 있다. 

 

추가로 넣은 기능의 경우 마이너스 기능이며, 처음 시작이 하이픈(-) 일경우 

뒤에 숫자의 경우 모두 마이너스로 표현이 된다. 

 

getNumber() 함수 - 숫자만 남기고 삭제하는  함수
function getNumber($str,$int = false){
   if( empty($str)){ return 0; }       
   $minus = false; // 음수를 판별 
   if( preg_match("/^[-]/",$str) > 0){ $minus = true; }
   $str = preg_replace("/[^0-9]*/s", "", $str);
   if( empty($str) || $str === '0'){ return 0; }
   if($minus === true){ $str = '-'.$str; } // 음수표현
   if( !empty($str) && $int === true ){ $str*=1;  } // 데이터 정수일경우
   return $str;
}

 

예제
var_dump(getNumber('25ff')); // string(2) "25"
var_dump(getNumber('25ff',true)); // int(25)
var_dump(getNumber('-2rr5ff',true)); // int(-25)

 

이 포스트글이 도움이 되었나요?
5
카테고리 연관글

Comment

댓글작성

0(500) | 1(30)