我试图用以下代码只输出唯一的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]
,或者将它们删除以指向完整数组