在foreach循环内合并数组

时间:2015-10-08 07:59:05

标签: php arrays merge

我遇到了问题。我有一部分代码。

    foreach ($query->result() as $server)
    {
        //Prepare host and port to pass to mon script
        list($host, $port) = explode(':', $server->address);

        $GS = new Source($host, $port);

        $result[$server->id]['id'] = $server->id;

        if(!$result[$server->id] = $GS->get_details())
            unset($result[$server->id]);
    }

在这个循环中,我有数组宽度ID号:

$result[$server->id]['id']

在此之后我有了这个:

if(!$result[$server->id] = $GS->get_details())
        unset($result[$server->id]);

此代码检查服务器是否在线并销毁空数组。它生成新的数组,重写我之前创建的数组。

那么我如何用最少的代码在循环中合并这两个数组呢?感谢名单。

1 个答案:

答案 0 :(得分:0)

按如下所示更新您的代码

if($result[$server->id] != $GS->get_details())
    unset($result[$server->id]);
else
    $result[$server->id]['id'][] = $server->id;