我有n
个数组(例如2个数组):
$tab['1'] = array('1', '2', '3');
$tab['2'] = array('A', 'B', 'C');
我怎样才能得到这个结果?
1 A
1 B
1 C
2 A
2 B
2 C
3 A
3 B
3 C
即,第一个数组中的每个元素与来自其他数组的每个元素。
答案 0 :(得分:5)
你会进行二维迭代。
像这样运行第一个数组
foreach ($tab[1] as $number) {...}
对于第一个数组中的每个数字,将执行括号中的代码。如果你想计算每个数字的每个字母,只需在里面重复相同的迭代:
foreach ($tab[1] as $number) {
foreach ($tab[2] as $letter) {
print($number.' '.$letter."\n");
}
}
答案 1 :(得分:3)
foreach ($tab[1] as $num) {
foreach ($tab[2] as $letter) {
echo "$num $letter\n";
}
}
答案 2 :(得分:0)
另一种方法(为了它的乐趣)
array_map(function($a, $b) {
foreach( $b as $e ) {
echo "$a $e\n";
}
},
$tab['1'],
array_fill(0, count($tab['1']), $tab['2']));