PHP - Check if word is inside a group of words
我有一组城市,我想看看某个字符串是否包含组中某个城市中的某个城市,如果包含,它将回响"是"。我想把所有的城市都写在一个用逗号分隔的字符串中。
1
| $cities ="'Zimbabue', 'France', 'Sao Paulo'"; |
如何实现这一目标?如果没有用逗号分隔,则使用其他内容。
编辑=
如果包含所有城市的字符串都包含"s",则不能使用strpos。"保罗",我试图找到保罗,它将输出"真",但应该是"假"。
- 你尝试的代码在哪里?
- 看看stackoverflow.com/questions/4366730/…,似乎是这样的。
- 我不认为这适用于这种情况,我想要整个词,用它,并试图找到"s&227;o paulo",如果字符串是paulo,它将回音为真。
- @Jundl77是对的。可以使用strpos()函数
- 如我所说,如果包含所有城市的字符串都有"sao paulo",并且我使用strpos为paulo查找,它将输出true
1 2 3 4 5 6 7 8 9
| <?php
$os = array("Mac","NT","Irix","Linux");
if (in_array("Irix", $os)) {
echo"Got Irix";
}
if (in_array("mac", $os)) {
echo"Got mac";
}
?> |
http://net/手册/恩/ function.in-array.php
- 它不是数组。它们都是弦,你看不出来吗?
- 我知道,我认为他可以得到数组形式的数据,然后使用它
- 只需使用explode将字符串转换为数组即可。
- 更改您的示例以适应问题并添加$s = explode (',',$cities);。
- 使用EDOCX1[0]我可以得到我需要的结果,谢谢
- 当然,如果他想将其从字符串更改为数组,这意味着他将输出作为字符串。这个问题可能很模糊,我理解的是,他试图从他提到的字符串中获取一些数据,然后检查是否存在某个值,我建议以数组的形式获取数据,因为它比用in-array方法搜索更容易。
你可以把它_ explode函数数组
如果你想要一个更可读的版本
1 2 3 4 5 6 7
| $resultArray = explode(",", $cities);
$result = (in_array($searchTerm, $resultArray);
if ($result) {
echo"Yes"
} else {
echo"No";
} |
- 注意,我最初的帖子说的是"数组"而不是"数组"。我已经纠正了这一点。