【问题标题】:PHP - Check if word is inside a group of words [duplicate]PHP - 检查单词是否在一组单词中[重复]
【发布时间】:2015-11-17 07:41:21
【问题描述】:

我有一组城市,我想查看某个字符串是否包含该组中的一个城市,如果包含,它将回显 Yes。 我想把所有城市写成一个字符串,用逗号分隔。

$cities = "'Zimbabue', 'France', 'Sao Paulo'";

如何做到这一点?如果没有用逗号分隔,则用其他内容。

编辑=

strpos 不能用,如果包含所有城市的字符串都包含“São Paulo”,我试图找到 Paulo,它会输出 true 但应该是 false

【问题讨论】:

  • 你尝试的代码在哪里?
  • stackoverflow.com/questions/4366730/…,好像是这样的
  • 我认为这不适用于这种情况,我想要整个单词,使用它并尝试查找“São Paulo”,如果字符串是 Paulo,它将回显 True
  • @jundl77 是对的。你可以使用strpos()函数
  • 如我所说,如果包含所有城市的字符串都有“Sao Paulo”并且我使用 strpos 来查找 Paulo,它将输出 true

标签: php


【解决方案1】:
<?php
 $os = array("Mac", "NT", "Irix", "Linux");
 if (in_array("Irix", $os)) {
echo "Got Irix";
  }
  if (in_array("mac", $os)) {
   echo "Got mac";
  }
  ?>

http://php.net/manual/en/function.in-array.php

【讨论】:

  • 它不是一个数组。都是字符串你看不出来吗?
  • 我明白了,我认为他可以将数据作为数组获取然后使用它
  • 只需使用explode 将字符串转换为数组即可。
  • 更改您的示例以适应问题并添加$s = explode (',',$cities);
  • 使用explode我可以得到我需要的结果,谢谢
【解决方案2】:

你可以结合 in_array 和 explode 函数

echo ((in_array($searchTerm, explode(",", $cities)))?"Yes":"No");

或者如果你想要一个更易读的版本

$resultArray = explode(",", $cities);
$result = (in_array($searchTerm, $resultArray);
if ($result) {
   echo "Yes"
} else {
   echo "No";
}

【讨论】:

  • 请注意,我最初的帖子说的是 is_array 而不是 in_array。我已经更正了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-09
  • 2021-04-04
  • 2021-07-25
  • 2014-05-18
  • 1970-01-01
  • 2013-05-24
相关资源
最近更新 更多