我有一个包含逗号分隔字符串的变量。这是通过使用implode()
函数从数组元素动态生成的。有时它不包含任何内容,有时它包含由逗号分隔的1/2/3/4字符串。我想检查一下这个以逗号分隔的字符串中是否存在stirng Other,如果它存在,则执行内部写入的命令if。但我面临的一个问题是,尽管山雀存在,但它从未在逗号分隔值中检测到字符串"Other"
。有人可以帮我这方面吗?
供您参考以下是我的代码:
$form_data['que_issue'] = implode(",", $request['que_issue']);
if(strpos($form_data['que_issue'],"Other")) {
echo "In If";
die;
if(!$this->mValidator->validate($form_data['que_issue_comment'], "required", "true"))
$this->mValidator->push_error($errors_msgs['que_issue_comment_blank'], 'que_issue_comment');
elseif(!$this->mValidator->validate($form_data['que_issue_comment'], 'maxlength', '100'))
this->mValidator->push_error($errors_msgs['que_issue_comment_length_invalid'], 'que_issue_comment');
} else
echo "In a else";
die;//Its always going in else part only
提前致谢。
答案 0 :(得分:1)
strpos将返回0
。但是0
被PHP解释为假。
总是查看文档,看看方法“失败”时的具体返回类型/值是什么,并与之进行比较。在这种情况下
if(strpos($form_data['que_issue'],"Other") !== false)
答案 1 :(得分:1)
你应该尝试这样的事情
if (strpos($form_data['que_issue'],'Other') !== false) {