如何解决使用空和 strcmp 比较 2 个字符串
你好,所以我想它很简单。我需要检查给定的 2 个字符串是否为空,然后使用 strcmp 比较两个字符串,并让它回调一个函数,如果它们匹配或不匹配,该函数将回显一个语句。这就是我所拥有的
public class ErrorFilter : IExceptionFilter //and other interfaces as you need
{
public void OnException(ExceptionContext context)
{
context.HttpContext.Items.TryGetValue("body",out object body);
}
}
我创建了一个 if 语句来检查字符串是否为空,但我想知道是否有办法创建一个 if 语句来检查两个字符串是否为空。我试过了
$firstString = "Geek2Geek";
$secondString = "Geezer2Geek";
function sameVar($firstString,$secondString) {
echo "Both strings similar";
}
function diffVar($firstString,$secondString) {
echo "Both strings do not the same";
}
if (empty($firstString)) {
echo "The first string is empty";
} else {
echo "The first string is not empty";
}
if (empty($secondString)) {
echo "The second string is empty";
} else {
echo "The second string is not empty";
}
if (strcmp($firstString,$secondString) !== 0) {
sameVar($firstString,$secondString);
} else {
diffVar($firstString,$secondString);
}
但是当我重新加载页面时什么也没有出现。在 VSCode 中也给了我一个红点
我想第二件事是使用 strcmp 并让它调用函数。我玩弄了它并删除了 $secondString 中的值,它仍然调用函数 sameVar
编辑:
根据说明,如果检查两个字符串都不为空,我必须在第一个 if 语句中嵌套一个 if 语句。我完成了它,它几乎完成了。我只需要弄清楚如何在最后包含一个 else 子句,如果 $firstString 或 $secondString 包含空值,该子句就会执行。
我的另一个问题是这两个函数都没有回显完整的句子。它应该回应“Geek2Geek 和 Geezer2Geek 都不匹配”,而不是我得到“两者都不匹配”
if (empty($firstString,$secondString))
解决方法
要检查两个字符串是否为空,请执行以下操作:
if (empty($firstString) && empty($secondString)) {
...
}
此外,您可能还想了解 logical operators。
关于 strcmp
,您只需要翻转函数调用 - !== 0
表示两个字符串 are not equal。
由于 empty
接受只有一个参数 (manual),因此您不能像 empty($firstString,$secondString)
一样使用它。
因此,如果您要检查 both 字符串是否为空,那么您的代码是:
if (empty($firstString) && empty($secondString)) {
echo 'Both string are empty';
}
更进一步,这段代码
if (strcmp($firstString,$secondString) !== 0) {
sameVar($firstString,$secondString);
} else {
diffVar($firstString,$secondString);
}
必须改写为
if (strcmp($firstString,$secondString) === 0) { // === instead of !==
sameVar($firstString,$secondString);
}
因为只有当字符串相同时,strcmp
才会返回0
。
作为旁注 - 如果您的函数不需要参数,请不要传递参数:
if (strcmp($firstString,$secondString) === 0) {
sameVar();
} else {
diffVar();
}
// where `sameVar` and `diffVar` are:
function sameVar() {
echo "Both strings similar";
}
function diffVar() {
echo "Both strings do not the same";
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。