当数组具有相同的标题时,如何将它们堆叠在一起


how to stack arrays together when they have the same title

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

title1: source 1, source 2

title2: source 1, source 2.

这可能吗?

这将把数组组合成标题=>链接格式,如果找到多个源,链接可能是一个数组。这是一种非常简单的方法,您可以通过不区分大小写地比较并确保$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;
    }
}