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

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

WBOY
リリース: 2016-06-13 13:35:26
オリジナル
938 人が閲覧しました

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

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>
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート