【问题标题】:Switch case or if php - sign category切换大小写或如果 php - 签名类别
【发布时间】:2018-02-18 17:35:43
【问题描述】:

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

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

我该怎么做?

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

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

这里的最佳做法是什么?

谢谢:>

【问题讨论】:

    标签: php if-statement switch-statement


    【解决方案1】:

    遍历你的$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);
        }
    }
    

    【讨论】:

    • 这就是我要找的 :) 非常感谢!完美运行:>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-27
    • 2016-03-05
    • 2020-07-19
    • 1970-01-01
    相关资源
    最近更新 更多