1

価値を得るために小さな問題に直面しています。

私のデータベースの値は48,53,40で、結果として値48,40,53を取得します。両方の値を比較して出力を表示したい。どちらも同じ値です。配列のみが異なります。

誰でも私を助けることができますか????

4

3 に答える 3

2

match-against with boolean modeクエリを高速化するために、列にフルテキスト インデックスを配置することを忘れないでください。

そのような-

select * from temp_new where match(b) against('+48 +53 +40' in boolean mode);
于 2012-04-18T08:26:40.083 に答える
0

それらを文字列で取得すると思います。

文字列を分解してから、次を使用できますin_array()

<?php
$foo = '48,53,40';
$bar = '48,40,53';


function are_equal($foo, $bar, $separator = ','){
    $foo = explode($separator, $foo);
    $bar = explode($separator, $bar);

    foreach($foo as $number){
        if(!in_array($number, $bar)){
            return FALSE;
        }
    }

    return TRUE;
}

var_dump(are_equal($foo, $bar));

もちろん、この場合、DB の再設計は健全です。

于 2012-04-18T07:33:01.057 に答える
0

独自のものを発明する代わりに、array_diff を使用する必要があります。

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

于 2012-04-18T07:52:53.277 に答える