有php数组的麻烦

时间:2014-04-15 12:54:04

标签: php arrays

我尝试仅使用以下代码输出唯一网址:

$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[])){

任何人都可以看到出了什么问题吗?

3 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:2)

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

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

而不是

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

但是我不明白代码的逻辑:

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

答案 2 :(得分:1)

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