PHP创建数组,其中来自其他数组的重复元素是键

时间:2018-04-08 11:28:59

标签: php html arrays

所以,我有一个看起来像这样的数组:

Array
(
    [0] = Array
        (
            [miasto] = Tarnów
            [ulica] = ul. Kościuszki 120
            [link] = <a class="cfs-hyperlink" href="/strona-w-budowie" target="_blank"><span class="text"></span></a>
        )

    [1] = Array
        (
            [miasto] = Tarnów
            [ulica] = ul. Pułaskiego 12
            [link] = <a class="cfs-hyperlink" href="/strona-w-budowie" target=""><span class="text"></span></a>
        )

    [2] = Array
        (
            [miasto] = Kraków
            [ulica] = ul. Test 12
            [link] = <a class="cfs-hyperlink" href="/strona-w-budowie" target=""><span class="text"></span></a>
        )

)

所以从这个数组中,我想创建一个数组,它将合并相同的第一个元素,并为它们提供带有第二个值的文本的单个值,所以就像这样:

Array
(
    [Tarnów] = Array
        (
            [0] = <a class="cfs-hyperlink" href="/strona-w-budowie" target="_blank"><span class="text">ul. Kościuszki 120</span></a>
            [1] = <a class="cfs-hyperlink" href="/strona-w-budowie" target="_blank"><span class="text">ul. Pułaskiego 12</span></a>
        )

    [Kraków] = Array
        (
            [0] = <a class="cfs-hyperlink" href="/strona-w-budowie" target="_blank"><span class="text">ul. Test 12</span></a>

        )

)

很抱歉,如果问题不是那么具体,但我无法在任何地方找到如何在google和stack的搜索中命名这样的内容。请善待,甚至只是稍微点一点,在世界上我应该寻找像这样的古怪的东西。

编辑:添加我的代码:  pastebin.com/jrDZLAnZ

1 个答案:

答案 0 :(得分:0)

假设您的输入数组是$arr,您可以使用此

$result = array();

foreach ($arr as $val)
{
    $b = explode('</span></a>' , $val['link']);
    $result[$val['miasto']][] = $b[0] .  $val['ulica'] . '</span></a>';
}

print_r($result);