Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecate
更新:2022-03-26 19:14:52
人气:4153
来源:本站原创
A+
PHP程序界面报错:Deprecated: str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in。
意思是:不推荐使用:str_replace():不推荐将null传递给数组| string类型的参数#3($subject)
前后翻了几遍程序,找到了涉及到的代码段:
function keyword_replace($keyword){ $search_nohave = array(",","/", "\\", ".", ";", ":", "\"", "!", "~", "`", "^", "(", ")", "?", "-", "\t", "\n", "'", "<", ">", "\r", "\r\n", "$", "&", "%", "#", "@", "+", "=", "{", "}", "[", "]", ":", ")", "(", ".", "。", ",", "!", ";", "“", "”", "‘", "’", "[", "]", "、", "—", " ", "-", "…"); foreach ($search_nohave as $search_rep){ $keyword = str_replace($search_rep,"",$keyword); } return $keyword; }
出现的问题是因为传进来的$keyword变量传为空,所以报错,但这个错误不是致命的不影响程序运行,如果不是强迫症可以忽略。
修改后可以解决问题,主要是判断一下传进来的参数是不是空,代码如下:
function keyword_replace($keyword){ if ($keyword!=''){ $search_nohave = array(",","/", "\\", ".", ";", ":", "\"", "!", "~", "`", "^", "(", ")", "?", "-", "\t", "\n", "'", "<", ">", "\r", "\r\n", "$", "&", "%", "#", "@", "+", "=", "{", "}", "[", "]", ":", ")", "(", ".", "。", ",", "!", ";", "“", "”", "‘", "’", "[", "]", "、", "—", " ", "-", "…"); foreach ($search_nohave as $search_rep){ $keyword = str_replace($search_rep,"",$keyword); } return $keyword; } }
推荐的文章
随手记
PHP经验分享
- ● 如何开启PHP8的JIT提升运行速度
- ● 钉钉API接口-用PHP+Curl实现获取用户信息
- ● 钉钉API接口-用PHP+Curl实现获取应用Access_Token
- ● 在PHP中使用CURL,“撩”服务器只需几行——phpcurl详细解析和常见大坑
- ● MySQLInnodb并发涉及参数说明
- ● mysql参数调优之innodb_thread_concurrency、innodb_concurrency_tickets合理的使用cpu性能
- ● PHP用fsockopen检测指定IP端口是否开启可用
- ● PHP用socket检测服务器IP端口是否开放?代码示例
- ● GatewayWorker报错:Waring:Events::onMessageisnotcallable
- ● PHP监控指定IP端口接收到的数据的实现代码