函数的参数带有默认值时,如果不把这个参数最后,PHP8会提示报错。

 

这类报错在升级PHP 8后也非常常见。这类错误多是来自一些主题或者是插件。其实这类的错误早就存在多年,但是一直未受到太多重视,最终在PHP 8的时候变成了Deprecated报错。

以下是出现错误代码:

  1. function xxxxx( $avatar, $id_or_email, $size=30, $default, $alt )

其实出现的问题很简单,错误的点就在$size=30这个参数。由于PHP规定,在可选参数中,若有默认值的参数不在最后一个,将会直接忽视它的默认值。所以这样写根本没必要,直接把默认值删除即可:

function xxxxx( $avatar, $id_or_email, $size, $default, $alt )

发表评论

您的电子邮箱地址不会被公开。