mysqli结果和while循环的array_diff()问题

时间:2019-01-17 06:14:46

标签: php arrays

我正在尝试比较2个数组并得到此错误。警告:array_diff():参数1不是数组。不太确定为什么我会收到此错误,而@Bean public JobLauncherTestUtils getJobLauncherTestUtils(){ return new JobLauncherTestUtils() { @Override @Autowired public void setJob(@Qualifier("myjobname") Job job) { super.setJob(job); } }; } 结果的While语句是一个数组。

为什么会出现此错误,我该如何纠正?

sql

1 个答案:

答案 0 :(得分:1)

由于$FidS不是数组而是数字或字符串(取决于您的数据库表定义),因此出现此错误。

请注意,您的SQL查询返回FRIEND_ID而不是数组-如果要使用array_diff,请将代码更改为:

if($arrayCheck->num_rows > 0){
    $resSqlData = [];
    while ($arrayCheck->fetch()) {
        $resSqlData[] = $FidS;
    }
    if (array_diff($resSqlData , $dataArray)){
            $res = "NoSame";
        }
    }
}