文字列(2) "64" } [9] => 配列(2) { [0] => 文字列("/> 文字列(2) "64" } [9] => 配列(2) { [0] => 文字列(">

ホームページ >バックエンド開発 >PHPチュートリアル >配列結合アルゴリズムの解決策を見つける

配列結合アルゴリズムの解決策を見つける

WBOY
WBOYオリジナル
2016-06-13 13:35:26931ブラウズ

配列の組み合わせアルゴリズムを見つけます。

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->

array(2) {
  [8] => array(2) {
    [0] => string(2) "63"
    [1] => string(2) "64"
  }
  [9] => array(2) {
    [0] => string(2) "78"
    [1] => string(2) "79"
  }
}




2 つの配列ではどうでしょうか。専門家に依頼する

-----解決策--------------------------
PhpNewnew モデレーターがこれについて議論しました。ポータル

http://topic.csdn.net/u/20120325/11/cb8beb24-845c-4d16-be52-92f74b21a30c.html
------解決策------------------
これはデカルト積
PHP コード
 を求める問題です。
$ar = 配列(
  8 => 配列('63', '64'),
  9 => 配列('78', '79'),
);

print_r(デカルト($ar));

関数デカルト() {
  $t = func_get_args();
  if(func_num_args() == 1) return call_user_func_array( __FUNCTION__, $t[0] );
  $a = 配列シフト($t);
  if(! is_array($a)) $a = array($a);
  $a = array_chunk($a, 1);
  する {
    $r = 配列();
    $b = 配列シフト($t);
    if(! is_array($b)) $b = array($b);
    foreach($a として $p)
        foreach(array_chunk($b, 1) as $q)
            $r[] = array_merge($p, $q);
    $a = $r;
  }while($t);
  $r を返します。
<div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。