让我们假设我有两个数组,我想将每个值与数组的另一个值合并。两个数组的连接值
阵列1
array (size=2) 0 => 1 1 => 2
阵列2
array (size=2) 0 => 3 1 => 4
求购结果阵列/串:
array (size=4) 0 => '1,3' 1 => '1,4' 2 => '2,3' 3 => '2,4'
我不能让我的头周围。很明显,我需要将每个数组键/值与其他数组合并。有没有更优雅的方式,然后在while/foreach循环中执行此操作?
让我们假设我有两个数组,我想将每个值与数组的另一个值合并。两个数组的连接值
阵列1
array (size=2) 0 => 1 1 => 2
阵列2
array (size=2) 0 => 3 1 => 4
求购结果阵列/串:
array (size=4) 0 => '1,3' 1 => '1,4' 2 => '2,3' 3 => '2,4'
我不能让我的头周围。很明显,我需要将每个数组键/值与其他数组合并。有没有更优雅的方式,然后在while/foreach循环中执行此操作?
您需要一个foreach
循环在foreach
循环内。 (Actualy,你将不得不循环两个数组以获得两个数组的连接产物,但实际上并不需要两个循环)。你可以混合:whiles
,foreach
,for
,或php滤波器/相交数组函数
$array1 = array(1,2);
$array2 = array(3,4);
$result = array();
foreach ($array1 as $item1){
foreach($array2 as $item2){
$result[] = $item1.','.$item2;
}
}
你的结果阵列的长度将是array1.Length * array2.Length
你也可以把一个数组insi德数组是这样的:
$array1 = array(1,2);
$array2 = array(3,4);
$result = array();
foreach ($array1 as $item1){
foreach($array2 as $item2){
$result[] = array($item1, $item2);
}
}
//$result[0][0] = 1 -- $result[0][1] = 3
//$result[1][0] = 1 -- $result[1][1] = 4
//$result[2][0] = 2 -- $result[2][1] = 3
//$result[3][0] = 2 -- $result[3][1] = 4
我们称之为2D(二维)阵列,因为你可以grapicly显示这是一个网格,喜欢这里的上方。如果你想放置一个数组,在一个数组内的数组中,你可以称这是一个三维数组等。在PHP中:
Array
(
[0] => Array
(
[0] => 1
[1] => 3
)
[1] => Array
(
[0] => 1
[1] => 4
)
[2] => Array
(
[0] => 2
[1] => 3
)
[3] => Array
(
[0] => 2
[1] => 4
)
)
检查你的输出?语法错误$ item1。','$ item2; – 2014-10-31 13:06:11
修正了它,没有我没有,我写了纯文本。 – 2014-10-31 13:08:50
尝试
$a= array ('0' => 1,'1' => 2);
$b= array ('0' => 3,'1' => 4);
for($i=0; $i<count($a); $i++) {
for($j=0; $j<count($b); $j++) {
$newarr[]= $a[$i].','.$b[$j];
}
}
print_r($newarr);//Array ([0] => 1,3 [1] => 1,4 [2] => 2,3 [3] => 2,4)
$a=array('1','2');
$b=array('3','4');
$res=array();
for($i=0;$i<count($a);$i++)
{
foreach($b as $bb)
{
$res[]=strval($a[$i].','.$bb);
}
}
print_r($res);//output=Array ([0] => 1,3 [1] => 1,4 [2] => 2,3 [3] => 2,4)
@Rakesh Sharma $ bb是变量,持有$ b的值检查这个http://php.net/manual/en/control-structures.foreach.php – 2014-10-31 13:06:17
所以你试过? – 2014-10-31 12:56:35
我使用两个数组的标题concantenate值。会更合适。 – Rimble 2014-10-31 13:02:52
连结*,道歉。 @ s1x – Rimble 2014-10-31 13:05:00