意外的区分大小写问题 Laravel
Unexpected Case Sensitive Issue Laravel
我正在做一个 Laravel 项目并开始收到一些意想不到的问题。
我是运行通过cron作业的脚本,脚本中有一个if
条件:
if($bride->photographer == 'yes'){
// Code goes here
}
问题是昨天之前一切正常,但今天就停止工作了。当我开始调试时,我开始知道 它不适用于值 = "Yes"。如果值以大写 Y 开头,则不满足条件。简而言之,它已开始表现为 区分大小写。
我想知道自昨天以来发生了什么变化。 如果它现在不工作那么为什么它以前工作?
处理用户输入的字符串时,最好的办法是在比较之前将它们转换为大写或小写。所以在你的情况下,最好做这样的事情:
if (strtolower($bride->photographer) === 'yes') {
// Code goes here
}
strtolower
将确保 $bride->photographer
的值始终为小写。
在将用户输入值与某个字符串进行比较时始终遵循简单规则:
if (strtolower( trim( $bride->photographer ) ) == 'yes') {
// Code goes here
}
- Trim吧。
- 将其转换为
lowercase
或uppercase
- 比较一下。
我正在做一个 Laravel 项目并开始收到一些意想不到的问题。
我是运行通过cron作业的脚本,脚本中有一个if
条件:
if($bride->photographer == 'yes'){
// Code goes here
}
问题是昨天之前一切正常,但今天就停止工作了。当我开始调试时,我开始知道 它不适用于值 = "Yes"。如果值以大写 Y 开头,则不满足条件。简而言之,它已开始表现为 区分大小写。
我想知道自昨天以来发生了什么变化。 如果它现在不工作那么为什么它以前工作?
处理用户输入的字符串时,最好的办法是在比较之前将它们转换为大写或小写。所以在你的情况下,最好做这样的事情:
if (strtolower($bride->photographer) === 'yes') {
// Code goes here
}
strtolower
将确保 $bride->photographer
的值始终为小写。
在将用户输入值与某个字符串进行比较时始终遵循简单规则:
if (strtolower( trim( $bride->photographer ) ) == 'yes') {
// Code goes here
}
- Trim吧。
- 将其转换为
lowercase
或uppercase
- 比较一下。