我尝试仅使用以下代码输出唯一网址:
$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[])){
任何人都可以看到出了什么问题吗?
答案 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]
,或者将其删除以指向完整数组