PHP数组每个元素

时间:2012-04-09 20:25:42

标签: php arrays

我有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

即,第一个数组中的每个元素与来自其他数组的每个元素。

3 个答案:

答案 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']));