PHP는 웹 개발 및 데이터 처리에 널리 사용되는 인기 있는 서버 측 프로그래밍 언어로, 내장된 기능이 풍부합니다. 사용자 입력을 처리하거나 외부 소스에서 데이터를 가져올 때 계산 및 비교 작업을 위해 문자열을 숫자 값으로 변환해야 하는 경우가 많습니다. 이 기사에서는 유형 변환 함수, 문자열 조작 함수 및 정규식을 포함하여 PHP 문자열을 숫자 값으로 변환하는 방법과 기술을 소개합니다. 시작하자!
PHP는 다양한 유형의 값을 숫자 유형으로 변환하기 위한 여러 내장 유형 변환 함수를 제공합니다. 이러한 함수는 정수, 부동 소수점 숫자, 부울 값, 날짜/시간 등 다양한 데이터 유형을 처리할 수 있습니다. 다음은 일반적으로 사용되는 유형 변환 함수입니다.
(1) intval() 함수
intval() 함수는 문자열을 정수로 변환하는 데 사용됩니다. 문자열이 숫자로 시작하면 함수는 이를 정수 유형으로 변환하고, 문자열이 숫자가 아닌 문자로 시작하면 함수는 0을 반환합니다. intval() 함수는 밑수를 지정하고 소수 부분을 반올림할 수도 있습니다.
예:
$str = '123'; $int = intval($str); // $int的值为123 $str = 'abc123'; $int = intval($str); // $int的值为0 $str = '123.45'; $int = intval($str); // $int的值为123 $str = '0x1a'; $int = intval($str, 16); // $int的值为26
(2) floatval() 함수
floatval() 함수는 문자열을 부동 소수점 숫자로 변환하는 데 사용됩니다. intval() 함수와 유사하게 문자열이 숫자로 시작하면 함수는 이를 부동 소수점 숫자 유형으로 변환합니다. 문자열이 숫자가 아닌 문자로 시작하면 함수는 0을 반환합니다.
예:
$str = '3.14'; $float = floatval($str); // $float的值为3.14 $str = 'abc.123'; $float = floatval($str); // $float的值为0
(3) boolval() 함수
boolval() 함수는 문자열을 부울 값으로 변환하는 데 사용됩니다. 문자열이 '0', '', 'false', 'null' 또는 빈 배열이면 함수는 false를 반환하고, 그렇지 않으면 true를 반환합니다. boolval() 함수는 다른 유형의 값을 불리언 값으로 변환할 수도 있습니다.
예:
$str1 = '0'; $str2 = 'false'; $str3 = 'null'; $bool1 = boolval($str1); // $bool1的值为false $bool2 = boolval($str2); // $bool2的值为false $bool3 = boolval($str3); // $bool3的值为false $str4 = 'abc'; $bool4 = boolval($str4); // $bool4的值为true $int = 123; $bool5 = boolval($int); // $bool5的值为true
(4) strtotime() 함수
strtotime() 함수는 날짜 시간 문자열을 Unix 타임스탬프로 변환하는 데 사용됩니다. Unix 타임스탬프는 1970년 1월 1일 0:00:00부터 현재 시간까지의 초 수입니다. 함수의 매개변수는 '2019-01-01', '2020-01-01 12:00:00' 등과 같은 모든 형식의 날짜 및 시간 문자열일 수 있습니다. 문자열이 날짜/시간 형식으로 인식되지 않으면 함수는 false를 반환합니다.
예:
$str = '2020-01-01 12:00:00'; $timestamp = strtotime($str); // $timestamp的值为1577875200
유형 변환 함수 외에도 PHP는 문자열의 숫자 부분을 처리하기 위한 많은 문자열 조작 함수도 제공합니다. 이러한 함수는 문자열에서 숫자가 아닌 부분을 제거하고, 지정된 길이의 숫자를 가로채고, 문자열이 숫자인지 확인하는 등의 기능을 구현할 수 있습니다. 다음은 일반적으로 사용되는 문자열 조작 함수입니다.
(1) preg_replace() 함수
preg_replace() 함수는 PHP의 정규 표현식을 기반으로 하는 문자열 대체 함수로, 문자열에서 숫자가 아닌 부분을 제거하는 데 사용할 수 있습니다. 정규식을 사용하여 숫자가 아닌 모든 문자를 일치시키고 아무것도 없는 문자로 바꿀 수 있습니다.
예:
$str = 'abc123xyz456'; $str = preg_replace('/\D/', '', $str); // $str的值为'123456'
정규 표현식에서 'D'는 숫자가 아닌 문자를 나타내며 '/'를 추가하면 해당 문자를 이스케이프 처리한다는 의미입니다. 숫자만 포함된 문자열을 얻으려면 preg_replace() 함수와 정규식을 사용하여 숫자가 아닌 문자를 빈 문자열로 바꿉니다.
(2) substr() 함수
substr() 함수는 문자열의 지정된 위치와 길이에서 부분 문자열을 가로채는 데 사용됩니다. 이 함수를 사용하여 문자열의 숫자 부분을 가로채서 유형 변환을 수행할 수 있습니다.
예:
$str = 'abc123xyz'; $str = substr($str, 3, 3); // $str的值为'123' $int = intval($str); // $int的值为123
(3) is_numeric() 함수
is_numeric() 함수는 문자열이 숫자인지 확인하는 데 사용됩니다. 이 함수는 문자열이 정수, 부동 소수점 숫자 또는 과학 표기법의 숫자이면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
예:
$str1 = '123'; $str2 = '3.14'; $str3 = '1e10'; $str4 = 'abc'; $bool1 = is_numeric($str1); // $bool1的值为true $bool2 = is_numeric($str2); // $bool2的值为true $bool3 = is_numeric($str3); // $bool3的值为true $bool4 = is_numeric($str4); // $bool4的值为false
정규 표현식은 다양한 형식의 문자열을 처리하는 데 사용할 수 있는 유연하고 강력한 텍스트 일치 도구입니다. PHP에는 Perl 호환 정규식 구문을 지원하는 PCRE 라이브러리가 내장되어 있습니다. 정규식을 사용하여 문자열의 숫자 부분을 일치시키고 유형 변환을 수행할 수 있습니다.
예:
$str1 = 'abc123xyz'; $str2 = '3.14E2'; $pattern = '/\d+/'; preg_match($pattern, $str1, $matches); // $matches的值为array('123') preg_match($pattern, $str2, $matches); // $matches的值为array('314') $int1 = intval($matches[0]); // $int1的值为123 $float1 = floatval($matches[0]); // $float1的值为123.0 $float2 = floatval($matches[0]) * 100; // $float2的值为12300.0
정규식에서 'd'는 숫자를 나타내고 '+'는 일치하는 하나 이상의 숫자를 나타냅니다. preg_match() 함수와 정규식을 사용하여 문자열의 숫자 부분을 일치시키고 일치하는 결과를 $matches 배열에 저장한 다음 intval() 함수와 floatval() 함수를 사용하여 일치하는 결과를 정수로 변환합니다. 부동 소수점 숫자 유형. 또한 100을 곱하여 부동 소수점 숫자를 얻는 등 일치 결과를 추가로 처리할 수 있습니다.
요약
이 문서에서는 유형 변환 함수, 문자열 조작 함수 및 정규식을 포함하여 PHP 문자열을 숫자 값으로 변환하는 방법과 기술을 소개합니다. 이러한 메서드는 정수, 부동 소수점, 부울, 날짜/시간 등과 같은 다양한 유형의 문자열을 쉽게 처리할 수 있습니다. 마지막으로 정규식을 사용하여 문자열의 숫자 부분을 일치시키고 유형 변환을 수행하는 방법도 소개했습니다. 이러한 기술을 익히면 PHP 프로그래밍 프로세스에 더욱 익숙해지고 개발 효율성이 향상됩니다.
위 내용은 PHP 문자열을 숫자 값으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!