ホームページ >バックエンド開発 >PHPチュートリアル >複数の配列がありますが、どのように組み合わせを計算して取得するのでしょうか?

複数の配列がありますが、どのように組み合わせを計算して取得するのでしょうか?

WBOY
WBOYオリジナル
2016-06-23 14:24:001218ブラウズ

配列 A、B、C、D の数値は、必ずしも同じである必要はありません。
組み合わせの順序は固定です A[rand] + B[rand] + C[rand] + D[rand] = 非繰り返し文字列
組み合わせと非繰り返し文字列の最大数を取得するにはどうすればよいですか? ?


ディスカッションへの返信 (解決策)

この投稿は、2013-10-11 23:59:51 に xuzuning によって最終編集されました

数量 = count(A) * count(B) * count(C) * count( D )


$a = array('a1', 'a2');$b = array('b1', 'b2');$c = array('c1', 'c2', 'c3');$d = array('d1', 'd2', 'd3');print_r(func($a, $b, $c, $d));function func() {  $d = func_get_args();  $r = array_shift($d);  while($d) {    $t = array();    foreach(array_shift($d) as $x)      foreach($r as $y) $t[] = $y . $x;    $r = $t;  }  return $r;}
Array
(
[0] => a1b1c1d1
[1] => a2b1c1d1
[2] => a1b2c1d1
[3] => a2b2c1d1
[4] => a 1b1c2d1
[ 5] => a2b1c2d1
[7] => a2b1c3d1
[9] => a1b 2c3d1
[11 ] => a2b2c3d1
[12] => a2b1c1d2
[15] => a2b2c 1d2
[16] =>
[17] => a2b1c2d2
[19] => a2b2c2d2
[21] => a1b 2c3d2
[23] => ; a2b2c3d2
[24] => a2b1c1d3
[27] => a1b1c 2d3
[29] => a2b1c2d3
[30] => a1b2c2d3
[33] => a2b1c3d3

[35] =>
)


コードは解決しました。ありがとうございます。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。