ホームページ > バックエンド開発 > PHPチュートリアル > PHP ピアツーピア ループ、オンラインで待機、100 ポイントを追加

PHP ピアツーピア ループ、オンラインで待機、100 ポイントを追加

WBOY
リリース: 2016-06-23 13:44:10
オリジナル
844 人が閲覧しました

csdn は画像をアップロードできません。データ テーブル構造の画像については Baidu を参照してください
http://zhidao.baidu.com/question/1047510947746416459.html
これは私のデータ テーブル構造、PHP + MYSQL です。サイクル効果を出したい

サイズ カラー パターン

36 レッドプリント

36 レッドフラット

36 ホワイトプリント

36 ホワイトフラット

36を使うout out of



----

36 37 赤タブレット

などですが、サイズ、色、模様は固定されておらず、
など 2 つしかない場合もあります
サイズ カラー

36 赤

36 ホワイト

36 ブラック

37 レッド

37 ホワイト

。 。 。 。 。 。など

サイズ、色、柄、その他など4つの項目がある場合もあります

このようなテーブル形式を使用してループするにはどうすればよいですか? 。 。 FOR を使用してループアウトできるようになりましたが、固定できるのみで、自由に選択することはできません。


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

サイズ、色、パターンの値はすべて 1 つのフィールドに入力されていますか?何で区切られているの?データ型は何ですか?

このテスト例を見てください。その方法がわかるはずです

create temporary table a (`尺码` varchar(10)) charset gbk;insert into a values (36),(37);create temporary table b (`颜色` varchar(10)) charset gbk;insert into b values ('红'),('白'),('蓝'),('黑');create temporary table c (`图案` varchar(10)) charset gbk;insert into c values ('印花'),('平板');select * from a,b,c;
ログイン後にコピー
尺码 颜色 图案 36   红  印花 37   红  印花 36   红  平板 37   红  平板 36   白  印花 37   白  印花 36   白  平板 37   白  平板 36   蓝  印花 37   蓝  印花 36   蓝  平板 37   蓝  平板 36   黑  印花 37   黑  印花 36   黑  平板 37   黑  平板 
ログイン後にコピー

各製品について、最初にそれらをリストします。
たとえば、サイズ、色、パターンには、サイズ、色、パターンの 3 つの配列があります。
たとえば、サイズと色には 2 つの配列しかありません。

次にループします。

サイズ、色、パターンの値はすべて 1 つのフィールドに入力されていますか?何で区切られているの?データ型は何ですか?


サイズ、色、パターンはそれぞれ 3 つのレコードにあります。たとえば、サイズのすべての値は、n で区切られた 1 つのフィールドにあります。

各製品について、最初に値をリストします。
たとえば、サイズ、色、パターンには、サイズ、色、パターンの 3 つの配列があります。
たとえば、サイズと色には 2 つの配列しかありません。

次にループします。



これで 3 つの配列に分割できますが、ループすることはできません。

Example

$ar = array(  array( "A",  "B",  "C"),  array("1",  "2",  "3", "4"),  array("X",  "Y",  "Z"),);print_rDescartes($ar));function Descartes($d) {  $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;}
ログイン後にコピー
ログイン後にコピー

Example

$ar = array(  array( "A",  "B",  "C"),  array("1",  "2",  "3", "4"),  array("X",  "Y",  "Z"),);print_rDescartes($ar));function Descartes($d) {  $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;}
ログイン後にコピー
ログイン後にコピー



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