切换案例或如果php - 签署类别

时间:2018-02-18 17:35:43

标签: php if-statement switch-statement

我有一个非常简单的任务要做,但我想我有点卡住了。

我必须检查帖子标题中是否有某个单词,然后给它一个特定的类别。一个帖子可以有多个类别。

我该怎么做?

不间断切换,以便检查每个可能的单词?

    switch ($title) {
        case ($pos = strpos($title, 'xxx')):
            $this->updatePostCategory($id, Admin_model::XXX);
        case ($pos = strpos($title, 'asd')):
            $this->updatePostCategory($id, Admin_model::ASD);
    }

很多if if声明彼此?

    if (strpos($title, 'xxx')) {
        $this->updatePostCategory($id, Admin_model::XXX);
    }
    if (strpos($title, 'asd')) {
        $this->updatePostCategory($id, Admin_model::ASD);
    }

这里最好的做法是什么?

谢谢:>

1 个答案:

答案 0 :(得分:2)

重复$words

foreach ($words as $word) {
    if (strpos($title, $word) !== false) {
        // do update
    }
}

您甚至可以创建某种查找:

$words = ['asd' => Admin_model::ASD, 'xxx' => Admin_model::XXX];
foreach ($words as $word => $value) {
    if (strpos($title, $word) !== false) {
        $this->updatePostCategory($id, $value);
    }
}