>백엔드 개발 >PHP 튜토리얼 >PHP 경고: date()에서는 매개변수 2가 길어질 것으로 예상하며 문자열은 솔루션을 제공합니다.

PHP 경고: date()에서는 매개변수 2가 길어질 것으로 예상하며 문자열은 솔루션을 제공합니다.

PHPz
PHPz원래의
2023-06-22 20:03:482101검색

PHP 프로그램을 사용하여 개발할 때 경고나 오류 메시지가 자주 표시됩니다. 그중 나타날 수 있는 오류 메시지는 다음과 같습니다. PHP 경고: date()에서는 매개변수 2가 길어야 하며 문자열이 제공되어야 합니다.

이 오류 메시지는 date() 함수의 두 번째 매개변수가 긴 정수(long)일 것으로 예상되지만 실제로 전달되는 것은 문자열(string)임을 의미합니다. 그렇다면 이 문제를 어떻게 해결해야 할까요? 아래에서는 몇 가지 가능한 솔루션을 소개합니다.

1. 전달된 매개변수 유형이 올바른지 확인

date() 함수를 사용할 때 일반적으로 두 번째 매개변수는 타임스탬프를 나타내는 데 사용됩니다. 타임스탬프는 시간을 정수 형식으로 표현하는 방법으로, 일반적으로 time() 함수를 사용하여 얻습니다. 따라서 date() 함수를 호출할 때 두 번째 매개변수가 실제로 긴 정수 타임스탬프인지 먼저 확인해야 합니다.

예를 들어 다음 코드 예시에서는 date() 함수의 두 번째 매개변수가 문자열이므로 위와 같은 오류 메시지가 나타납니다.

$dateStr = "2022-01-01";
echo date("Y年m月d日",$dateStr);
//输出:PHP Warning: date() expects parameter 2 to be long, string given

문자열 형식의 시간을 타임스탬프로 변환해야 하는 경우 strtotime() 함수를 사용하여 이를 달성할 수 있습니다. 예:

$dateStr = "2022-01-01";
$date = strtotime($dateStr);
echo date("Y年m月d日",$date);
//输出:2022年01月01日

2. 매개변수가 NULL인지 확인하세요.

date() 함수 호출 시 두 번째 매개변수가 NULL이면 위와 같은 오류가 발생합니다. 따라서 date() 함수를 사용할 때는 두 번째 매개변수가 NULL인지 확인해야 합니다. 예:

$date = null;
echo date("Y年m月d日",$date);
//输出:PHP Warning: date() expects parameter 2 to be long, string given

위 코드를 다음과 같이 변경할 수 있습니다.

$date = time();
echo date("Y年m月d日",$date);
//输出:当前时间的年月日格式

3 매개변수가 숫자 문자열인지 확인하세요

date() 함수를 사용하면 두 번째 매개변수가 정수형 문자열인 경우에도 위와 같은 오류 메시지가 나타납니다. 따라서 date() 함수를 사용할 때는 매개변수를 다음과 같은 숫자 유형으로 변환해야 합니다.

$dateStr = "1640995200";
$date = intval($dateStr);
echo date("Y年m月d日",$date);
//输出:2022年01月01日

또는 변환을 위해 유형 변환 연산자를 직접 사용합니다. 예:

$dateStr = "1640995200";
$date = (int)$dateStr;
echo date("Y年m月d日",$date);
//输出:2022年01月01日

요약하면 PHP 경고: 날짜 presents()는 매개변수 2가 길 것으로 예상하고 오류 메시지가 주어지면 문자열입니다. 전달된 매개변수 유형을 확인하고 매개변수가 NULL인지 또는 유형 변환을 수행하여 이 문제를 해결할 수 있습니다. 이 오류가 발생하면 당황하지 말고 특정 상황에 따라 적절한 솔루션을 선택하십시오.

위 내용은 PHP 경고: date()에서는 매개변수 2가 길어질 것으로 예상하며 문자열은 솔루션을 제공합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.