我有一个非常简单的任务要做,但我想我有点卡住了。
我必须检查帖子标题中是否有某个单词,然后给它一个特定的类别。一个帖子可以有多个类别。
我该怎么做?
不间断切换,以便检查每个可能的单词?
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);
}
这里最好的做法是什么?
谢谢:>
答案 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);
}
}