Esempio n. 1
0
 # 第一优先级取出的数据不足36的时候   $num0 < 12  true
 if ($num0 < $needNum) {
     # 获取第一优先级的数据的docId
     $res1_0_1 = array();
     # 储存第一优先级的文章id,用于排重
     foreach ($res1_0 as $key => $value) {
         $unArr[] = $key;
         $res1_0_1[] = $key;
     }
     # 得到一个文章关联的产品id
     $proIdArr = get_product_id($docArr);
     #var_dump($proIdArr);exit('128_1');
     # 没有proId则使用“看了又看”   $proId
     if ($proIdArr) {
         # 返回形如array(0=>5255718,1=>5255719...)
         $docArr1_1 = get_docid_by_proid($proIdArr, $needNum - $num0, $unArr);
         //var_dump($docArr1_1);exit();
         # 通过proId获得了文章id
         if (is_array($docArr1_1)) {
             # 第一优先级和第二优先级的规则的数据合并
             $docArr1_1 = array_merge($res1_0_1, $docArr1_1);
         } else {
             $docArr1_1 = $res1_0_1;
         }
         //var_dump($docArr1_1);exit('144_1'); // array(0=>5255718,...)
         # 用于排重
         foreach ($docArr1_1 as $key => $value) {
             if (array_search($unArr, $value)) {
                 $unArr[] = $value;
             }
         }
Esempio n. 2
0
 # 第一优先级取出的数据不足36的时候   $num0 < 36  true  	#####  36是 $dataNum 的一个实例,下面的程序都是  ########
 if ($num0 < $dataNum) {
     # 获取第一优先级的数据的docId
     $res1_0_1 = array();
     # 储存第一优先级的文章id,用于排重
     foreach ($res1_0 as $key => $value) {
         $unArr[] = $key;
         $res1_0_1[] = $key;
     }
     # 得到一个文章关联的产品id
     $proId = get_product_id($docArr);
     //var_dump($proId);exit('103_1');
     # 没有proId则使用“看了又看”   $proId
     if ($proId) {
         # 返回形如array(0=>5255718,1=>5255719...)
         $docArr1_1 = get_docid_by_proid($proId, $dataNum - $num0, $unArr);
         # 如果产品id获取不到相关的文章,则使用第三优先级规则
         if (!$docArr1_1) {
             $docArr1_1 = get_docid_by_lookmore($docArr, $dataNum - $num0, $unArr);
             $docArr1_1 = array_keys($docArr1_1);
             # 经过proId却没有数据
             $proNoIdFlag = true;
         }
         # 第一优先级和第二优先级的规则的数据合并
         $docArr1_1 = array_merge($res1_0_1, $docArr1_1);
         if (is_array($docArr1_1)) {
             $docNum = count($docArr1_1);
             $docArr1_1_1 = array();
             # 用于排重
             foreach ($docArr1_1 as $key => $value) {
                 $docArr1_1_1[$value] = 9;