多組信息,不同的組合,一共可以有哪些組合呢, 這里給大家一個PHP數(shù)組組合實(shí)例分享
結(jié)果如下:
//笛卡爾乘積 組合原理 將二維數(shù)組進(jìn)行多重組合 function arrToCombination($arr) { $next = array_pop($arr); //刪除數(shù)組中的最后一個元素, 返回刪除的元素 while($arr) { $t = array(); $pre = array_pop($arr); //前一個數(shù)組 if(! is_array($pre)) $pre = array($pre); foreach($pre as $pre_v) { foreach($next as $next_v) $t[] = array_merge(array($pre_v), is_array($next_v) ? $next_v : array($next_v)); //array_merge 把兩個數(shù)組合并為一個數(shù)組 } $next = $t; } return $next; } $arr = array( ["小明","小紅"], ["語文","數(shù)學(xué)","英語"], ["王老師","陳老師"] ); $result = arrToCombination($arr); $str = ""; foreach ($result as $key => $value) { $str .= "<tr>"; foreach ($value as $v) { $str .= "<td>$v</td>"; } $str .= "<tr>"; }
<table> <tr> <th>學(xué)生</th> <th>課程</th> <th>老師</th> </tr> <?php echo $str; ?> </table>
源代碼下載:多重數(shù)組組合