所以我遇到了与这篇文章类似的问题:PHP strpos not working,但不完全是。
这是我的情况(来自 CodeIgniter 应用程序):
$_submit = strtolower($this->input->post('form-submit'));
if(strpos('save', $_submit) !== FALSE){
// we have to save our post data to the db
}
if(strpos('next'), $_submit) !== FALSE){
// we have to get the next record from the db
}
问题是,尽管 form-submit 包含其中一个或两个值,但这些都不会真正触发。form-submit 收到的值是:'save'、'save-next' 和 'skip-next'(我通过查看传入的帖子数据确认了这一点)。现在对于真正的头抓狂,我在同一个代码块中也有这一行:
if ($_submit === 'add-comment'){
//do something
}
这工作得很好。所以 === 按预期工作,但 !== 不是?