ホームページ  >  記事  >  バックエンド開発  >  文字列を重複せずに接続するにはどうすればよいですか?

文字列を重複せずに接続するにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-07-06 13:53:291330ブラウズ

例えば以下のようなデータテーブル構造があります
id lei shuxing miaoshu
1 ゾウは目が大きい
2 ゾウは丸い目
3 ゾウは鼻が高い
4 クマは鼻が小さい
5 ゾウ足が長い
6 クマは足が細い
7 ゾウは口が小さい

2 番目、3 番目、および 4 番目の列には、次の要件の組み合わせを達成できる PHP メソッドを見つけてください。要件は、shuxing の 3 つの項目をカバーするレイであることです (十分ではありませんが、いくつかの項目があります)クマなど) 動物のさまざまな説明を生成します

例: 上記のデータに基づく結果は次のようになります

象は大きな目、高い鼻、長い足を持っています
象は丸い目、高い鼻、そして長い足を持っています
象は大きな目、高い鼻、そして小さな口を持っています
. 。 。
組み合わせがたくさんあるので、すべてをリストすることはできませんが、上記の例を通して友達が理解できることを願っています

返信内容:

例えば以下のようなデータテーブル構造があります
id lei shuxing miaoshu
1 ゾウは目が大きい
2 ゾウは丸い目
3 ゾウは鼻が高い
4 クマは鼻が小さい
5 ゾウ足が長い
6 クマは足が細い
7 ゾウは口が小さい

2 番目、3 番目、および 4 番目の列には、次の要件の組み合わせを達成できる PHP メソッドを見つけてください。要件は、shuxing の 3 つの項目をカバーするレイであることです (十分ではありませんが、いくつかの項目があります)クマなど) 動物のさまざまな説明を生成します

例: 上記のデータに基づく結果は次のようになります

象は大きな目、高い鼻、長い足を持っています
象は丸い目、高い鼻、そして長い足を持っています
象は大きな目、高い鼻、そして小さな口を持っています
. 。 。
組み合わせがたくさんあるので、すべてをリストすることはできませんが、上記の例を通して友達が理解できることを願っています

ビルダーパターン http://www.runoob.com/design-pattern/builder-pattern.html

リーリー

このようにして戻ることができます
レイの結果
ゾウは大きな目、高い鼻、長い脚、そして小さな口を持っています
クマは小さな鼻と細い脚を持っています
...
コンマで区切られた背景の結果に戻ります、そして 3 つの結果をランダムにつなぎ合わせます
---上記の個人的な意見、コメント歓迎です ---

実は、質問がphpに関するものなのか、SQLに関するものなのか、まだよくわかりません。
しかし、SQL はこの種の問題を解決するのが苦手な気がするので、プログラミングの問題だと思います。

私は PHP を理解していないので、問題解決のアイデアのみを提供します。
1. lei に従って、すべての修飾されたデータをクエリします。例:

リーリー

2. コード内で次のように lei属性和shuxing属性做group by を操作します。 リーリー

3. 2 のデータに対してデカルト積演算を実行して完了です。

追記: 実際、テーブル構造は適切に設計されていないため、

に分割する必要があります)。 animal表(animal_id, animal_name)和animal_prop表(animal_prop_id, animal_id, prop_name, prop_desc

分割テーブルを使用して、3つのテーブルに分割することができます。 table1: レイ情報を記録するために使用されます table2: shuxing、table1 の ID を記録するために使用されます table3:

miaoshu と table2 の ID を記録するために使用され、3 つのテーブルを使用して関連するクエリを実行します

親愛なる友人の皆さん、誰かこの問題の解決を手伝ってくれませんか?

はい、上記のアイデアは、

テーブルを分割する
その後、テーブルに基づいて関連するクエリを実行する
クラスを個別に取り出してテーブルを構築する
クラスの属性に基づいて別のテーブルを作成する(1対多の関係)

Pythonのバージョン:

リーリー

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