Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Warnung: date() erwartet, dass Parameter 2 lang ist, die Zeichenfolge ist eine Lösung

PHP-Warnung: date() erwartet, dass Parameter 2 lang ist, die Zeichenfolge ist eine Lösung

PHPz
PHPzOriginal
2023-06-22 20:03:481998Durchsuche

Bei der Entwicklung mit PHP-Programmen werden häufig Warn- oder Fehlermeldungen angezeigt. Darunter kann eine Fehlermeldung erscheinen: PHP-Warnung: date() erwartet, dass Parameter 2 lang ist und die Zeichenfolge angegeben ist.

Diese Fehlermeldung bedeutet: Es wird erwartet, dass der zweite Parameter der Funktion date() eine lange Ganzzahl (long) ist, aber tatsächlich wird ihm ein String (string) übergeben. Wie also sollen wir dieses Problem lösen? Im Folgenden stellen wir einige mögliche Lösungen vor.

1. Bestätigen Sie, ob der übergebene Parametertyp korrekt ist

Bei Verwendung der Funktion date() wird normalerweise der zweite Parameter zur Darstellung des Zeitstempels verwendet. Ein Zeitstempel ist eine Möglichkeit, die Zeit in ganzzahliger Form darzustellen und wird normalerweise mit der Funktion time() abgerufen. Daher müssen wir zunächst bestätigen, ob der zweite Parameter tatsächlich ein langer ganzzahliger Zeitstempel ist, wenn wir die Funktion date() aufrufen.

Im folgenden Codebeispiel ist der zweite Parameter der date()-Funktion beispielsweise eine Zeichenfolge, sodass die obige Fehlermeldung angezeigt wird.

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

Wenn Sie Zeit in Stringform in einen Zeitstempel umwandeln müssen, können Sie dies mit der Funktion strtotime() erreichen. Beispiel:

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

2. Überprüfen Sie, ob der Parameter NULL ist

Wenn der zweite Parameter beim Aufruf der date()-Funktion NULL ist, tritt der obige Fehler auf. Daher sollten Sie bei Verwendung der date()-Funktion prüfen, ob der zweite Parameter NULL ist, zum Beispiel:

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

Sie können den obigen Code ändern in:

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

3 Überprüfen Sie, ob der Parameter eine numerische Zeichenfolge ist

Wann Wenn bei Verwendung der date()-Funktion der zweite Parameter eine Zeichenfolge vom Typ Integer ist, wird auch die obige Fehlermeldung angezeigt. Wenn Sie daher die Funktion date() verwenden, sollten Sie die Parameter in numerische Typen konvertieren, z. B.:

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

Oder verwenden Sie direkt den Typkonvertierungsoperator für die Konvertierung, z. B.:

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

Zusammenfassend gilt: PHP-Warnung: Datum Erscheint () erwartet, dass Parameter 2 lang ist, gibt die Zeichenfolge eine Fehlermeldung aus. Wir können dieses Problem lösen, indem wir den übergebenen Parametertyp überprüfen, feststellen, ob der Parameter NULL ist, oder eine Typkonvertierung durchführen. Wenn dieser Fehler auftritt, geraten Sie nicht in Panik, wählen Sie einfach die geeignete Lösung entsprechend der jeweiligen Situation.

Das obige ist der detaillierte Inhalt vonPHP-Warnung: date() erwartet, dass Parameter 2 lang ist, die Zeichenfolge ist eine Lösung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn