Php Mysql,其中列为字符串
我希望,这不是一个非常愚蠢的问题,但由于一些小时,我正在寻找一个解决方案,但没有成功 我有一张表格,上面有城市名称: 城市名称 柏林Php Mysql,其中列为字符串,php,mysql,Php,Mysql,我希望,这不是一个非常愚蠢的问题,但由于一些小时,我正在寻找一个解决方案,但没有成功 我有一张表格,上面有城市名称: 城市名称 柏林 纽约 汉堡 我有一个字符串: “波恩-纽约-芝加哥” 现在,我想从这个字符串中选择所有“已知”城市。但正如您所见,我无法将此字符串拆分为数组(因为“纽约”)。所以“在集合中查找”不适合我。函数“LIKE”的工作方向是“错误的” 所以我需要%cities.name%EKIL$string:-D之类的东西 有人知道我如何不用PHP处理这个问题吗 我希望,我不会因为树
纽约
汉堡
我有一个字符串: “波恩-纽约-芝加哥” 现在,我想从这个字符串中选择所有“已知”城市。但正如您所见,我无法将此字符串拆分为数组(因为“纽约”)。所以“在集合中查找”不适合我。函数“LIKE”的工作方向是“错误的” 所以我需要%cities.name%EKIL$string:-D之类的东西 有人知道我如何不用PHP处理这个问题吗 我希望,我不会因为树木而错过森林 非常感谢你的帮助
Tobias您需要创建一个
cities
数组,然后对照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
这将迭代每个
数组
元素,然后检查匹配
的值是否存在于$str
中,然后将其添加到$new_数组
这与PHP问题一样是MySQL问题。使用WHERE name IN('Berlin'、'New York'、'Hamburg')
@TimBiegeleisen我想作者还不知道haystack字符串包含'Berlin'、'New York'而不是'Berlin New'、'York Hamburg'等等。阅读整个问题很有帮助。@NoChecksum:是的,你说得对。我收到一个任意字符串,我将删除除字母和空格以外的所有内容。所以一切都可能:)非常感谢!看来,没有机会用纯SQL来处理它。。。所以,我接受你的建议。再次感谢你的帮助!