PHP中的随机关键字

时间:2019-05-03 07:56:37

标签: php codeigniter

这是我的关键字;

  

Mercedes Ac Compressor搜索项目2019

我想随机地随机播放它,就像我想在开始的某个时候将AC压缩机在2019年的某个时候首次出现一样,这样我该怎么做,我知道我可以使用数组来做到这一点,但我不希望这样你能建议或帮助我吗?

基本上,我正在创建一个全局搜索,如果用户搜索梅赛德斯ac压缩机,它将得到结果,而当他/她搜索2019梅赛德斯时,它也会显示相同的结果

2 个答案:

答案 0 :(得分:2)

终于有了解决方案,它会像这样工作。

type CategoryWithParents struct {
    Category       models.Category  `bson:",inline"`
    OptionalParent *models.Category `bson:"parentlist"`
}

var results []CategoryWithParents

f := func(collection *mgo.Collection) error {
    query := []bson.M{
        {
            "$match": bson.M{
                "is_deleted": bson.M{
                    "$ne": true,
                },
            },
        },
        {
            "$sort": bson.M{
                orderBy: pipeOrder,
            },
        },
        {"$limit": limit},
        {"$skip": skip},
        {
            "$lookup": bson.M{
                "from":         "categories",
                "localField":   "_id",
                "foreignField": "parent",
                "as":           "parentlist",
            },
        },
        {
            "$unwind": bson.M{
                "path":                       "parentlist",
                "preserveNullAndEmptyArrays": true,
            },
        },
    }

    return collection.Pipe(query).All(&results)
}

现在,每次$ newkeystr都会改组我的$ oldKeyword。

答案 1 :(得分:2)

function random_words($text = "Mercedes Ac Compressor Search Item 2019") {
  $char = explode(" ",$text);
  $num = count($char) - 1;
  $rand_max = array_rand($char,$num);
  $value = "";
  for($i = 0; $i < $num; $i ++) {
    $i == 0 ? $value .= $char[$rand_max[$i]] : $value .= " ".$char[$rand_max[$i]];
  }
  $new_array = explode(" ",$value);
  foreach($char as $txt) {
      if(!in_array($txt, $new_array)) {
          $value .= " ".$txt;
      }
  }

  return $value;
}

echo random_words();