检查字符串中特定位置是否有多个数组元素

时间:2018-01-12 15:46:41

标签: php

我有一个带有一些特定缩写的String。 String可以包含一个,多个或没有缩写。 然后我有一个缩写为元素的数组。

我正在寻找一个解决方案,以便在新数组中提供匹配的缩写。

例如:

$abbreviation = array('HSGE', 'DFVC');
$string = 'This is a abbreviation HSGE and here is the other DFVC";

输出应为:

$output = ([0] => HSGE [1] => DFVC);

也许这很容易,但我是新手。

3 个答案:

答案 0 :(得分:4)

使用array_intersect的简单解决方案:

array_intersect(explode(' ',$string), $abbreviation)

答案 1 :(得分:0)

您应该使用graph[i][j]来检索字符串中缩写的位置。 http://php.net/manual/en/function.strrpos.php

如果abreviation不在字符串中,那么strpos将返回FALSE

所以解决方法是循环你的缩写数组并检查是否在带有strpos的字符串中使用了这种缩写。

答案 2 :(得分:0)

您可以创建缩写数组的循环foreach元素,并使用strpos搜索字符串中每个元素的位置,然后如果找到它,则可以将缩写添加到结果中数组array_push

您可以在这里找到所需内容:

http://php.net/manual/en/function.strpos.php

http://php.net/manual/en/control-structures.foreach.php

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