2011-11-27 59 views
1

我有2 array datas("a","b","c")("x","y","z"),如何把它们混合和出把结果作为(ax)|(ay)|(az)|(bx)|(by)|(bz)|(cx)|(cy)|(cz)? (每个$array1 + $array2合并成一个新单词)。PHP 2的foreach结果混合

$array1 = array("a","b","c"); 
foreach($array1 as $data1){ 

} 
$array2 = array("x","y","z"); 
foreach($array2 as $data2){ 

} 
//$output = '(ax)|(ay)|(az)|(bx)|(by)|(bz)|(cx)|(cy)|(cz)'; 

回答

6

你要使用嵌套循环:

$items = array(); 

foreach($array1 as $a) 
{ 
    foreach($array2 as $b) 
    { 
     $items[] = '(' . $a . $b . ')'; 
    } 
} 
echo implode('|', $items); // (ax)|(ay)|(az)|(bx)|(by)|(bz)|(cx)|(cy)|(cz) 
7
<?php 

$array1 = array("a","b","c"); 
$array2 = array("x","y","z"); 

$array3 = array(); 

foreach($array1 as $data1){ 
    foreach($array2 as $data2){ 
     $array3[] = "($data1$data2)"; 
    } 
} 

echo implode('|', $array3); 

// (ax)|(ay)|(az)|(bx)|(by)|(bz)|(cx)|(cy)|(cz) 
8
$array = array(); 
$array1 = array("a","b","c"); 
$array2 = array("x","y","z"); 
foreach($array1 as $data1){ 
foreach($array2 as $data2){ 
    $array[] = '('.$data1.$data2.')'; 
} 
} 
echo implode('|', $array);