切换案例或符号类别



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

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

我该怎么做?

切换不断裂,因此检查了所有可能的单词?

    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 (strpos($title, 'xxx')) {
        $this->updatePostCategory($id, Admin_model::XXX);
    }
    if (strpos($title, 'asd')) {
        $this->updatePostCategory($id, Admin_model::ASD);
    }

这里最好的做法是什么?

谢谢:>

在您的$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);
    }
}

最新更新