PHP中的语法错误:函数的数组访问';s返回值

PHP中的语法错误:函数的数组访问';s返回值,php,arrays,arrayaccess,Php,Arrays,Arrayaccess,问题是我写了一段代码,避免了重复数据的显示。在我的本地机器上,它工作正常,但在主机上,我遇到以下错误: 语法错误,中出现意外的“[” /home/eplus/public\u html/vqmod/vqcache/vq2-catalog\u view\u theme\u default\u template\u product\u product.tpl 在线481 下面是发生错误的代码 if ($pr_id[$i] == 0) { break; echo 'h1' . "Нет п

问题是我写了一段代码,避免了重复数据的显示。在我的本地机器上,它工作正常,但在主机上,我遇到以下错误:

语法错误,中出现意外的“[” /home/eplus/public\u html/vqmod/vqcache/vq2-catalog\u view\u theme\u default\u template\u product\u 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。

只有PHP版本5.4及以上版本才支持数组解引用。
当您在返回数组的函数后面直接使用括号访问时:
array\u unique($array)[0]

阅读更多:

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

$pr_unique = array_unique($pr_id);

if ($pr_id[$i] != $pr_unique[$i]) {
    ....
}
只有PHP版本5.4及以上版本才支持数组解引用。
当您在返回数组的函数后面直接使用括号访问时:
array\u unique($array)[0]

阅读更多:

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

$pr_unique = array_unique($pr_id);

if ($pr_id[$i] != $pr_unique[$i]) {
    ....
}

这个函数的替代品是什么?哦,哇!我不知道!我希望PHP有一天能实现这个功能!谢谢大家!上面提供的代码和预期的一样!这个函数的替代品是什么?哦,哇!我不知道!我希望PHP有一天能实现这个功能!谢谢大家!上面提供的代码正常工作!