0

那么问题是我写了一个避免显示重复数据的代码。在我的本地机器上它运行良好,但在主机上我收到以下错误:

语法错误,第481/home/eplus/public_html/vqmod/vqcache/vq2-catalog_view_theme_default_template_product_product.tpl中的意外“[”

这是发生错误的代码

if ($pr_id[$i] == 0) {
   break;
   echo 'h1' . "Нет похожих продуктов";
}

if ($pr_id[$i] != array_unique($pr_id)[$i]) {    // Error on this line
   $product_fee = $this->db->query("SELECT `product_id` FROM `" . DB_PREFIX . "product_to_category` WHERE `category_id`='".$feed_id."' AND NOT `product_id` = '".$products_id."'  GROUP BY `product_id` ORDER BY RAND() LIMIT 0,10");

   $pr_id[$i] = $product_fee->row['product_id'];

   continue;
}

我怎样才能避免这种情况?至于 CMS,我目前正在使用 OpenCart。

4

1 回答 1

3

仅 PHP 5.4及更高版本支持 数组取消引用。
当您在返回数组的函数之后直接使用括号访问时:array_unique($array)[0]

阅读更多:PHP 5.4:新特性

我建议您在if子句之前创建具有唯一项的数组:

$pr_unique = array_unique($pr_id);

if ($pr_id[$i] != $pr_unique[$i]) {
    ....
}
于 2013-07-05T14:12:08.303 回答