带分隔字段的多数组搜索查询

时间:2010-07-30 03:23:50

标签: php arrays search delimited

我有一个存储一些国家/地区名称的数组

我正在做一个搜索模块

我想查找db记录是否包含国家/地区名称

但是由于db设计问题,那些记录可以拥有mutil县并通过分隔符“|”存储国家

下面是一个例子

输入阵列(“塞浦路斯”,“奥地利”)//请注意,最大输入将为300国家/地区

db record country column:阿尔巴尼亚|安道尔|奥地利|白俄罗斯|比利时|波斯尼亚和黑塞哥维那|保加利亚|克罗地亚|塞浦路斯|捷克共和国|丹麦|爱沙尼亚|欧盟|法罗群岛

所以任何人都可以提供基于php的解决方案来进行搜索?

1 个答案:

答案 0 :(得分:0)

首先,您的数据库设计并不好。您不应该在一个字段中放置多个分隔的国家/地区名称。你可能想改变它。

如果您真的想使用现有设计,可以使用PHP的explodein_array函数:

$db_rec = 'Albania|Andorra|Austria|Belarus|Belgium|Bosnia and Herzegovina';
$arr = explode('|',$db_rec);    
$key = 'Albania';
if(in_array($key,$arr)) {
    echo "$key found";
}