切换大小写或如果php-签名类别

切换大小写或如果php-签名类别,php,if-statement,switch-statement,Php,If Statement,Switch Statement,我有一个非常简单的任务要做,但我想我有点卡住了 我必须检查一下文章标题中是否有特定的词,然后给它一个特定的类别。一篇文章可以有多个类别 我该怎么做 不间断切换,以便检查所有可能的单词 switch ($title) { case ($pos = strpos($title, 'xxx')): $this->updatePostCategory($id, Admin_model::XXX); case ($pos = strpo

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

我必须检查一下文章标题中是否有特定的词,然后给它一个特定的类别。一篇文章可以有多个类别

我该怎么做

不间断切换,以便检查所有可能的单词

    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 (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);
    }
}

这就是我想要的:)非常感谢!工作完美:>