繁体   English   中英

Mysql WHERE列在字符串中

[英]Mysql WHERE column is in string

我希望,这不是一个非常愚蠢的问题,但是几个小时后,我正在寻找解决方案,但没有成功。

我有一张名为城市的桌子:

cities.name

柏林
纽约
汉堡
...

我有一个字符串:“波恩纽约芝加哥”

现在,我想从这个字符串中选择所有“已知”的城市。 但正如您所看到的,我无法将此字符串拆分为数组(因为“纽约”)。 所以“FIND_IN_SET”不适合我。 功能“LIKE”正在“错误的方向”工作。

所以我需要像%cities.name%EKIL $ string :-D这样的东西

有没有人有想法,如何在不使用PHP的情况下处理这个问题?

我希望,我不会错过森林的树木......

非常感谢你的帮助!

托比亚斯

您需要创建一个cities数组,然后针对您的城市数组检查字符串。

$to_match = array('Bonn','New York','Chicago'); // all cities array

$str = "Bonn New York Chicago"; // Your city string
$new_array = array();

foreach($to_match as $value) {
  if(stristr($str, $value)) {
    $new_array[] = $value;
  }
}

print_r($new_array); // here you can get only match cities against all cities array

这将迭代每个array元素,然后检查$str match存在match值,然后将它添加到$new_array

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM