我有一个存储一些国家/地区名称的数组
我正在做一个搜索模块
我想查找db记录是否包含国家/地区名称
但是由于db设计问题,那些记录可以拥有mutil县并通过分隔符“|”存储国家
下面是一个例子
输入阵列(“塞浦路斯”,“奥地利”)//请注意,最大输入将为300国家/地区
db record country column:阿尔巴尼亚|安道尔|奥地利|白俄罗斯|比利时|波斯尼亚和黑塞哥维那|保加利亚|克罗地亚|塞浦路斯|捷克共和国|丹麦|爱沙尼亚|欧盟|法罗群岛
所以任何人都可以提供基于php的解决方案来进行搜索?
答案 0 :(得分:0)
首先,您的数据库设计并不好。您不应该在一个字段中放置多个分隔的国家/地区名称。你可能想改变它。
如果您真的想使用现有设计,可以使用PHP的explode
和in_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";
}