php - 用 str_replace 检查两个相同的 str
问题描述
$first = 'test - yes';
$second = 'yes';
$third = str_replace("test -", "", $first);
if ($second == $third) {
echo 'yee';
echo '<br>';
}
echo $first;
echo '<br>';
echo $second;
echo '<br>';
echo $third;
我有 3 个变量。第一个变量有 str - test - 是,第二个 - 是,第三个被替换为 first 并删除了“test -”
因此,当我带来所有 3 个变量时,我得到了这个结果“测试 - 是的;是的;是的;” 第二个和第三个变量是相同的,当我检查 if ($second == $third) { echo 'yee'; } 它没有回应它;为什么
解决方案
$first = '测试 - 是的';
$second = '是';
$third = str_replace("测试-", "", $first);
在此之后$second
并不$third
完全相等。我的意思是$third
变量之前包含一个额外的空格yes
。
另一件事是您不是以这种方式比较字符串。您可以通过===
或比较字符串strcmp($second,$third)==0
。使用 == 与 strcmp stackoverflow 答案检查字符串比较以获取更多详细信息。
推荐阅读
- javascript - SparkAR - 不能在代码中改变材质的纹理?
- highcharts - Highcharts - 将 css 添加到 highcharts 图例中
- go - 解析字符串返回月份超出范围错误
- php - PHP 并不总是从 $_GET 中获得价值
- html - 使用引导程序时使用 css 更改字体颜色?
- c - 库中的链接器脚本变量阻止动态链接
- javascript - 登录后无法从 React.js 获取 Passport.js req.user
- html - 如何在 React 中使particle.js 全屏显示?
- android - 无法在具有 targetSdk 29 的应用程序中获取 ContentResolver.openInputStream(Uri uri) 并在具有 API 29 的设备上获取 compileSdk 29
- python - Pandas 数据框从 as_matrix 移动到 to_numpy