Maison >développement back-end >tutoriel php >Avertissement PHP : date() s'attend à ce que le paramètre 2 soit long, la chaîne étant la solution
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.
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日
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); //输出:当前时间的年月日格式
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!