1

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

我正在做一个搜索模块

我想查找数据库记录是否包含国家名称

但是由于数据库设计问题,这些记录可以拥有多个县并通过分隔符“|”存储国家

下面是一个例子

input: array("Cyprus","Austria") // 注意最大输入为 300 个国家

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

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

4

1 回答 1

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";
}
于 2010-07-30T03:42:20.673 回答