Maison  >  Article  >  développement back-end  >  Avertissement PHP : date() s'attend à ce que le paramètre 2 soit long, la chaîne étant la solution

Avertissement PHP : date() s'attend à ce que le paramètre 2 soit long, la chaîne étant la solution

PHPz
PHPzoriginal
2023-06-22 20:03:481998parcourir

Lors du développement à l'aide de programmes PHP, vous rencontrez souvent des messages d'avertissement ou d'erreur. Parmi eux, un message d'erreur qui peut apparaître est : PHP Attention : date() s'attend à ce que le paramètre 2 soit long, chaîne donnée.

Ce message d'erreur signifie : le deuxième paramètre de la fonction date() est censé être un entier long (long), mais ce qui lui est en réalité transmis est une chaîne (string). Alors, comment devrions-nous résoudre ce problème ? Ci-dessous, nous présenterons plusieurs solutions possibles.

1. Confirmez si le type de paramètre transmis est correct

Lors de l'utilisation de la fonction date(), le deuxième paramètre est généralement utilisé pour représenter l'horodatage. Un horodatage est une manière de représenter l’heure sous forme entière, généralement obtenue à l’aide de la fonction time(). Par conséquent, nous devons d’abord confirmer si le deuxième paramètre est bien un horodatage entier long lors de l’appel de la fonction date().

Par exemple, dans l'exemple de code suivant, le deuxième paramètre de la fonction date() est une chaîne, donc le message d'erreur ci-dessus apparaîtra.

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

Si vous devez convertir l'heure sous forme de chaîne en horodatage, vous pouvez utiliser la fonction strtotime() pour y parvenir. Par exemple :

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

2. Vérifiez si le paramètre est NULL

Si le deuxième paramètre est NULL lors de l'appel de la fonction date(), l'erreur ci-dessus se produira. Par conséquent, lorsque vous utilisez la fonction date(), vous devez vérifier si le deuxième paramètre est NULL, par exemple :

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

Vous pouvez modifier le code ci-dessus en :

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

3 . Vérifiez si le paramètre est une chaîne numérique

Dans le processus d'utilisation de la fonction date(), si le deuxième paramètre est une chaîne de type entier, le message d'erreur ci-dessus apparaîtra également. Par conséquent, lors de l'utilisation de la fonction date(), les paramètres doivent être convertis en types numériques, par exemple :

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

ou, utiliser directement l'opérateur de conversion de type pour la conversion, par exemple :

$dateStr = "1640995200";
$date = (int)$dateStr;
echo date("Y年m月d日",$date);
//输出:2022年01月01日
#🎜🎜 #Pour résumer, lorsque le message d'erreur PHP Warning: date() s'attend à ce que le paramètre 2 soit long, la chaîne donnée apparaît, nous pouvons résoudre ce problème en vérifiant le type de paramètre passé, en déterminant si le paramètre est NULL ou exécutant le type question de conversion. Lorsque cette erreur se produit, ne paniquez pas, choisissez simplement la solution appropriée en fonction de la situation spécifique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn