2

SQL クエリでできるように、配列を除外する方法があるかどうか疑問に思っています。WHERE、OR、LIMIT、ORDER BY (など) のように。不要な mysql 接続を避けるために、テーブルを JSON ファイルにキャッシュしています。

説明させてください

これは私の例の配列です

    $array = array(
    0 => array('value1', 'value2', 'value3', 'value4', 'value5', 'value6', 'value7'),
    1 => array(1, '-1', 1, 'Google.com', 'http://google.com/', 'about:blank', 1),
    2 => array(2, '-1', 2, 'Yahoo.com', 'http://yahoo.com/', 'about:blank', 1),
    3 => array(1, '-1', 1, 'Bing.com', 'http://bing.com/', 'about:blank', 3),
    4 => array(1, '-1', 1, 'Youtube.com', 'http://youtube.com/', 'about:blank', 3),
    5 => array(1, '-1', 1, 'Facebook.com', 'http://facebook.com/', 'about:blank', 4),
    6 => array(1, '-1', 1, 'Stackoverflow.com', 'http://stackoverflow.com/', 'about:blank', 3),
);

ここで、配列を除外したいと思います。

value7 が 3、value3 が Bing.com、または value2 が -1 のレコードが必要だとします。何百ものループとチェックなしで、これは可能ですか?

それは価値がありますか、それとも SQL サーバーのコストは安くなりますか?

4

3 に答える 3

1

いくつかしかない場合は、独自のフィルターを作成できる場合があります。それ以外の場合、SQL はこのデータを保存/クエリするためのより良い方法かもしれません:

http://php.net/manual/en/function.array-filter.php

于 2013-06-04T19:24:09.403 に答える
0

PHP 用の Linq のフレーバーを使用できます。Linq はもともと ASP.net に由来し、SQL に似た言語を使用してデータセットをフィルター処理するために使用されます。簡単なグーグルはこれを私に与えました:http://phplinq.codeplex.com/、しかしそれは2009年以来更新されていないようです.おそらく他の実装が周りにあります.

于 2013-06-04T19:28:55.627 に答える
0

これは、データベースに適しています。

SQLiteのようなファイル システム データベースを使用することで、SQL サーバーを取得しなければならないことを回避できる場合があります。

于 2013-06-04T19:32:03.050 に答える