php数组出现问题


Having trouble with php array

我试图用以下代码只输出唯一的url:

$i = 0;             
while ( loop ) {                            
  $unique[i] = $field['link'];
  if(in_array($field['link'],$unique[])){
      do something                              
      i++;
  } else {
      do something else
      i++;
  }
}

然而,我收到一个错误,说不能使用[]读取第71行的内容,即:

if(in_array($field['link'],$unique[])){

有人能看到出了什么问题吗?

in_array将数组作为第二个参数。所以只使用$unique

$unique[]语法只能用于将元素推入此数组。

如果$unique是一个数组,那么您需要编写

if(in_array($field['link'],$unique)){

而不是

if(in_array($field['link'],$unique[])){

但在不理解代码逻辑的情况下:

您将$field['link']放在数组的索引i中,因此该值始终在$unique中,而in_array()将始终返回true

这是因为在$unique[]中,[]表示数组中要写入的下一个位置,不能用它来读取数组。您需要在[]中指定$unique的索引,如[$i],或者将它们删除以指向完整数组