クエリの問題について

WBOY
リリース: 2016-06-23 14:00:58
オリジナル
932 人が閲覧しました

例: $array_a={1,1,1,2,2,2,3,3,3,4,4,4,5,5,5}
$array_b={a,a,a,a ,a,b,b,b,b,c,c,c,s,s,s}
$array_c={b,b,c,d,d,s,a,s,d,s,a, d,a,d,d}

上記をデータベースのコンテンツとして考えてください 3 つのフィールドとコンテンツ

PHP の配列関数を使用してデータベースのクエリを実装したいのですが、たとえば where $array_a=1 のコンテンツaaa と bbc です
PHP の書き方は? データベース環境の制限が多すぎるので、この方法を使うしかありません

議論への返信(解決策)

もしそれが間違っていませんか?が 2 の場合、時間が 3 に等しい場合はどうなるでしょうか?

良い方法は思いつきませんでしたが、a の値に基づいて対応する要素のそれぞれの位置を確認し、それらの位置を使用して b と c の値を取得することしかできません。これを実行してみてはいかがでしょうか:

$abc = array(array(1, 'a','b'),array(1,'a','b'),)

または、データベースをシミュレートするためにファイルとして保存します。次に、検索関数をカスタマイズします

$array_a = explode(',', '1,1,1,2,2,2,3,3,3,4,4,4,5,5,5');$array_b = explode(',', 'a,a,a,a,a,b,b,b,b,c,c,c,s,s,s');$array_c = explode(',', 'b,b,c,d,d,s,a,s,d,s,a,d,a,d,d');$res_a = array_keys($array_a, 1);$res_b = array_intersect_key($array_b, array_flip($res_a));$res_c = array_intersect_key($array_c, array_flip($res_a));print_r($res_b);print_r($res_c);
ログイン後にコピー
ログイン後にコピー
Array
(
[0] => a

[1] => a

[2] => a
)
Array
(
[0] = > b
[ 1] => b
[2] => c
)


$array_a = explode(',', '1,1,1,2,2,2,3,3,3,4,4,4,5,5,5');$array_b = explode(',', 'a,a,a,a,a,b,b,b,b,c,c,c,s,s,s');$array_c = explode(',', 'b,b,c,d,d,s,a,s,d,s,a,d,a,d,d');$res_a = array_keys($array_a, 1);$res_b = array_intersect_key($array_b, array_flip($res_a));$res_c = array_intersect_key($array_c, array_flip($res_a));print_r($res_b);print_r($res_c);
ログイン後にコピー
ログイン後にコピー
Array
(
[0] => a

[1] => a

[2] => a
)
Array
(
[0] => b
[1] => b
[2] => c
)
array_flip($res_a) を検索するには、array_intersect_key を使用すると良いでしょう。

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