【问题标题】:PHP array_diff returns all resultsPHP array_diff 返回所有结果
【发布时间】:2014-02-11 09:51:58
【问题描述】:

我正在读取一个文本文件并将文件 ID 的内容放入一个数组中。

然后我有一个具有相同 id 的新数组,但多了一个。

我的目的是比较这两个数组并打印出新的文件ID或文件ID

我遇到的问题是,当我使用函数 array_diff 时,它会打印所有内容,而不是两个数组之间的实际差异。

$results = array_diff($pNewList, $pSavedList);
        $resultsCount = count($results);
        for($x = 0; $x < $resultsCount; $x++){
            echo $results[$x].'<br/>';
        } 

即使两个数组中的内容相同,我的输出也会打印每一行

【问题讨论】:

  • 你的数组$pNewList和$pSavedList中的值是什么
  • 我敢打赌,其中一个数组的值中有换行符,另一个没有。
  • @Barmar 或者可能是数组值末尾或开头的空格
  • 在我的文件中,每个文件id都打印在新的一行,
  • @joe 在这里显示你的数组值兄弟

标签: php arrays compare


【解决方案1】:

试试这个

$results = array_diff($pNewList, $pSavedList, TRUE);
$resultsCount = count($results);
for($x = 0; $x < $resultsCount; $x++){
    echo $results[$x].'<br/>';
} 

【讨论】:

  • 警告:array_diff():参数 #3 不是数组
猜你喜欢
  • 2012-12-20
  • 2015-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-04
  • 2021-06-21
  • 2015-10-23
  • 2012-06-08
相关资源
最近更新 更多