【发布时间】:2018-09-20 11:08:18
【问题描述】:
我有一个奇怪的,可能有点傻,但我已经绞尽脑汁太久了。
我正在使用 strpos() 来查看字符串是否以某个子字符串结尾,方法是根据 PHP 文档使用所述子字符串长度的负偏移量。据推测,它从大海捞针执行搜索 x 个字符。
var_dump($recipient); //debug
if(strpos( $recipient, '_redacted', -9 ) === FALSE) {
// do stuff
}
它只是抱怨偏移量不包含在字符串中。然而输出是:
string(29) "fullname@company.tld_redacted"
遇到了 PHP 错误
严重性:警告 消息:strpos():偏移量不包含在字符串中
可以清楚地看到字符串比 9 个字符长得多,那么为什么会抛出该警告?(并且通过扩展返回 FALSE 并始终触发我的条件 - 不正确)
【问题讨论】: