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));

但是,在这种情况下,数据库重新设计当然是健康的!

于 2012-04-18T07:33:01.057 回答
0

您应该使用 array_diff 而不是自己发明。

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

于 2012-04-18T07:52:53.277 回答