在zend中,通过在控制器中插入数组将值传递给视图


In zend pass values to view by concating array in controller

我在下面的数组中通过在zend中执行MySQL查询来获得这个数组。我想把所有的八位字节连接起来,得到131.208.0.0和141.128.0.0的结果,然后传递到视图中显示。

Array
(
    [0] => Array
        (
            [octet1] => 131
            [octet2] => 208
            [octet3] => 0
            [octet4] => 0
        )
    [1] => Array
        (
            [octet1] => 141
            [octet2] => 128
            [octet3] => 0
            [octet4] => 0
        )
)

通过下面的foreach,我得到了所有的问题——如何将数组的每个八位字节连接起来。

 foreach($arr as $external)
       {
            foreach ($external as $octent)
            {
                echo $octent."<br />";
            }
       }

内爆函数就是您要搜索的:

 $results = array();
 foreach($arr as $external){
       $results[] = implode('.', $external);
 }
 print_r($results);

如果您不需要处理单独的八位字节,并且可以访问查询进行修改,那么只需在SELECT子句中检索CONCAT(octet1, '.', octet2, '.', octet3, '.', octet4)即可。

否则你可以这样做:

// array_map applies a function to every element of an array
$concatenated_arr = array_map(function($e) { return implode('.', $e); }, $arr);