欢迎您来到,李雷博客 | PHP博客        登录  |  注册

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;
	}
}


推荐的文章
# 发表我的评论
  /     /  
# 最近评论
暂时还没有评论,要不要说点什么?
  Ads by Google
  联系博主
Hello,本博客系统采用PHP和MySql开发,程序开发完全是因为个人爱好,是自己纯手写PHP源代码,未采用任何PHP框架!
QQ:858353007   微信号:lileihot123
网站地图
会员服务
关于我们
QQ:858353007
 
广告服务
加我微信
移动端访问
 
 
Copyright © 2014- 2024 www.mdaima.com All Rights Reserved.
李雷博客,专注PHP经验、PHP教程及PHP源代码开源下载分享的PHP博客!   ICP备案号:京ICP备10202169号-4