【问题标题】:multi-array search query with delimited field带分隔字段的多数组搜索查询
【发布时间】:2010-07-30 03:23:49
【问题描述】:

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

我正在做一个搜索模块

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

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

下面是一个例子

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

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

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

【问题讨论】:

  • 其实不知道怎么增加,但是无论如何,有人可以先回答我的问题,我会尽快增加它,我正在寻找如何增加

标签: php arrays search delimited


【解决方案1】:

首先你的数据库设计不好。您不应该将多个分隔的国家名称放在一个文件中。你可能想改变它。

如果你真的想使用现有的设计,你可以使用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";
}

【讨论】:

  • 实际上 db 不是我设计的,有任何常规示例而不是使用 in_array?
  • 正则示例到底是什么意思?
  • 对不起,我说的是正则表达式,注意key也应该是数组
猜你喜欢
  • 2015-03-08
  • 1970-01-01
  • 2016-03-01
  • 2011-12-26
  • 2023-01-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多