gpt4 book ai didi

php - 在php中检查带有空格的函数

转载 作者:行者123 更新时间:2023-11-28 23:26:58 24 4
gpt4 key购买 nike

我正在使用这个查询

"SELECT * FROM items WHERE itemname LIKE '%$name%'"

如果$name="alex",则查询返回正确的信息。但是,如果 $name="alex " 带有尾随空格,则不会返回任何结果。

如果 $name="alex dude",那么这是有效的,但是 $name="alex dude " 不是。我只想删除字符串末尾的空格。

我写了一个函数来清除名称末尾的空格。这是函数。

function checkname($dataname)
{
$func_name ="";
$checker = substr($dataname, -1);
if($checker == " ")
{
$func_name = substr_replace($dataname, "", -1)
function checkname($dataname);
}
else
{
$dataname = $func_name;
}
return $dataname;
}

这给了我一个 PHP 解析错误:

syntax error, unexpected 'function' (T_FUNCTION) in C:\inetpub\vhosts\httpdocs\compare.php on line 176`.

我不明白为什么递归调用函数会给我一个错误。

你们能帮帮忙吗?是否有比我现在使用的更好的解决方案或更好的 SQL 查询?

最佳答案

出现错误的原因有两个。第一个原因,以及您看到该消息的原因:

Parse error: syntax error, unexpected 'function'

是你在 $func_name = substr_replace($dataname, "", -1) 之后少了一个分号。

function 是意外的,因为您没有终止上一行。

如果你修复它,你仍然会得到一个错误,因为你正在使用 function checkname($dataname); 进行递归调用,而它应该是 return checkname ($dataname); 如果你按照你的方式使用它,你会得到一个 cannot redeclare function 错误。

如果你想让它递归工作,可以简化为

function checkname($dataname) {
if (substr($dataname, -1) == " ") {
return checkname(substr_replace($dataname, "", -1));
}
return $dataname;
}

但正如其他人所说,这与 trim()rtrim() 的作用基本相同。

关于php - 在php中检查带有空格的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38923702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com