问题是我编写了一个避免显示重复数据的代码。在我的本地机器上它完美地工作但在主机上我收到以下错误:
语法错误,意外'['in 的 /home/eplus/public_html/vqmod/vqcache/vq2-catalog_view_theme_default_template_product_product.tpl 在线 481
以下是发生错误的代码
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。
答案 0 :(得分:3)
阵列解除引用。
在返回数组的函数后直接使用括号访问时:array_unique($array)[0]
。
我建议你在if
子句之前创建包含唯一项的数组:
$pr_unique = array_unique($pr_id);
if ($pr_id[$i] != $pr_unique[$i]) {
....
}