使用数组数据后将数据添加到现有数组

时间:2018-09-28 08:38:42

标签: php arrays

我有一个从MySQL查询创建的数据数组,然后我用它来创建更多数据,然后我需要将其返回到数组(或一个新数据)中,但是我却无法获得该数据完全可以。

这是我一直在尝试使用的代码:

$vars['items'] = $this->_query('SELECT customers.*, sites.site_name as `default_location` 
                                FROM `customers` 
                                JOIN `sites` ON customers.site_id=sites.id');

$a=array();

foreach($vars['items'] as $customer)
{
    if($customer['record_to_use'] == '2')
    {
        $results = dns_get_record($customer['cust_mx'], DNS_MX);
        $mx = min(array_column($results, "pri"));
        $highest = array_filter(
            $results,
            function($item) use($mx) {return $item["pri"] === $mx;}
        );
        foreach ($highest as $mx)
        {
            $results = dns_get_record($mx["target"], DNS_A);
            foreach ($results as $a)
            {
                $vars['items']['ip'] .= $a['ip'];
            }
        }
    }
}

因此,我需要从数组中每个项目创建的IP作为$vars['items']['ip']添加到该数组中

谢谢!

2 个答案:

答案 0 :(得分:0)

$vars['items']['ip'] .= $a['ip'];

.=是串联的,如果那是您的代码中的错字。

尝试$vars['items']['ip'] = $a['ip'];

答案 1 :(得分:0)

foreach ($results as $a => $value)
                        {
                            $vars['items'][$a]['ip'] = $value['ip'];
                        }

这就是我所需要的:)