ホームページ > バックエンド開発 > PHPチュートリアル > この変更に対処する方法、PHP 配列の組み合わせを教えてください。

この変更に対処する方法、PHP 配列の組み合わせを教えてください。

WBOY
リリース: 2016-06-20 12:44:10
オリジナル
1047 人が閲覧しました

たとえば、2 つの配列があります
グループ A: 10,11,12,13
グループ B: 14,15

それらを 10|14,11| に結合したいとします。 14,12| 14,13|14,10|15,11|15,12|15,13|15

ありがとうございます。グループ A、グループ B など、3 つのグループが存在する場合があります。 、グループ C、グループ D


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

何をしているのですか デカルト積を見つけるために、エッセンス領域にいくつかの関連する議論があります
ここに別のバージョンがあります

$a = array(10,11,12,13);$b = array(14,15);foreach(Descartes($a, $b) as $v) $r[] = join(',', $v);echo join('|', $r);
ログイン後にコピー
ログイン後にコピー
10,14|10,15|11,14|11, 15|12,14|12,15|13,14 |13,15

  function Descartes($d) {	if(func_num_args() > 1) $d = func_get_args();	$r = array_pop($d);	while($d) {		$t = array();		$s = array_pop($d);		if(! is_array($s)) $s = array($s);		foreach($s as $x) {			foreach($r as $y) $t[] = array_merge(array($x), is_array($y) ? $y : array($y));		}		$r = $t;	}	return $r;  }
ログイン後にコピー
ログイン後にコピー

デカルト積を求めています。エッセンスエリア
こちらは別バージョンです

$a = array(10,11,12,13);$b = array(14,15);foreach(Descartes($a, $b) as $v) $r[] = join(',', $v);echo join('|', $r);
ログイン後にコピー
ログイン後にコピー
10 ,14|10,15|11,14|11,15|12,14|12,15|13,14|13,15

  function Descartes($d) {	if(func_num_args() > 1) $d = func_get_args();	$r = array_pop($d);	while($d) {		$t = array();		$s = array_pop($d);		if(! is_array($s)) $s = array($s);		foreach($s as $x) {			foreach($r as $y) $t[] = array_merge(array($x), is_array($y) ? $y : array($y));		}		$r = $t;	}	return $r;  }
ログイン後にコピー
ログイン後にコピー


モデレーター、ありがとうございます。後でテストして、後で要件を投稿します。後で確認するのを手伝ってください。

http://bbs. csdn.net/topics/391860657 神様、どうかこれを見て助けてください

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