1

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 />";
            }
       }
4

2 に答える 2

2

implode関数は、あなたが探しているものです:

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

 print_r($results);
于 2012-08-22T10:45:24.367 に答える
1

個々のオクテットを操作する必要がなく、変更のためにクエリにアクセスできる場合はCONCAT(octet1, '.', octet2, '.', octet3, '.', octet4)SELECT句で取得できます。

それ以外の場合は、これを行うことができます:

// array_map applies a function to every element of an array
$concatenated_arr = array_map(function($e) { return implode('.', $e); }, $arr);
于 2012-08-22T10:52:11.447 に答える