我在下面的数组中通过在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);