我就隨便問問數組的排列組合,比如$a = ['a'=>'a1','b'=>'b1',];$b= ['c'=>'c1','d'=>'d1',]結果:$c = [????[????????'a'=>'a1',????????'c'=>'c1',????],?????[????????'a'=>'a1',????????'d'=>'d1',????],? ? ?[????????'b'=>'b1',????????'c'=>'c1',????],? ? ?[????????'b'=>'b1',????????'d'=>'d1',????],]
1 回答
已采納

qq_青棗工作室_0
TA貢獻446條經驗 獲得超754個贊
這玩意,還真難搞。利用PHP的動態語言特性來做。
<?php function?array_cartesian_assoc(){ ????$args?=?func_get_args(); ????if(2?>?$count=func_num_args())?return?$args; ????$ret=[];?$k=[];?$v=[]; ????$foreach?=?''; ????for($i=0;?$i<$count;?$i++)?$foreach.=?"foreach(\$args[$i]?as?\$k[$i]=>\$v[$i])\n"; ????$foreach?.=?<<<'EOL' ????????{ ????????????$one?=?[]; ????????????for($j=0;?$j<$count;?$j++)?{ ????????????????$one[$k[$j]]?=?$v[$j]; ????????????} ????????????$ret[]?=?$one; ????????} EOL; ????eval($foreach); ????return?$ret; } //?測試 $a?=?['a'=>'a1',?'b'=>'b1']; $b?=?['c'=>'c1',?'d'=>'d1']; $c?=?array_cartesian_assoc($a,?$b); var_export($c);
- 1 回答
- 0 關注
- 1562 瀏覽
添加回答
舉報
0/150
提交
取消