如何在具有相同标题的情况下将数组堆叠在一起

时间:2012-01-24 05:59:41

标签: php arrays

我正在抓取一个文档,并有两个不同的数组:标题和链接。我使用array_push()将每个项目存储在自己的数组中。我为同一个数组刮了2个不同的文档。之后我想要比较2个数组,并且任何匹配的标题都有2个不同的链接与同一个标题相关联。这样我就可以显示

title1: source 1, source 2

title2: source 1, source 2.

这可能吗?

1 个答案:

答案 0 :(得分:0)

这会将您的数组合并为标题 => 链接格式,如果找到多个来源,则链接可能是数组。这是一种非常简单的方法,通过比较不区分大小写并确保$link仅向组合数组添加唯一条目,可以获得更高级的方法。

$array1 = array_combine($titles1, $links1);
$array2 = array_combine($titles2, $links2);

foreach ($array2 as $title => $link) {
    if (isset($array1[$title])) {
        $array1[$title] = array($array1[$title], $link);
    } else {
        $array1[$title] = $link;
    }
}