子域名过滤:仅应通过引用传递变量的警告能否忽略?
PHP警告“仅应通过引用传递变量”的处理建议
- 别忽略这个警告。虽然它不会直接导致代码崩溃,但属于PHP语法规范层面的问题,后续PHP版本迭代可能对这类语法做更严格的限制,到时候你的代码可能直接报错,而且留着这种不符合规范的代码也不利于后期维护。
- 警告原因:
array_shift()函数要求参数是可引用的变量,你现在直接把explode()的返回结果(临时值)传进去,临时值无法被引用,所以触发了这个警告。 - 修复方法很简单,先把拆分后的主机名存到变量里,再传给
array_shift():
$hostParts = explode('.', $_SERVER['HTTP_HOST']); $subdomain = array_shift($hostParts);
内容的提问来源于stack exchange,提问作者ryuunosuke.7003a
相关产品推荐
相关产品推荐

