使用正则表达式和in_array()在数组中搜索单词

时间:2018-01-25 04:36:52

标签: php multidimensional-array

我有数组列表,如:

$arrval[0] = "fulanah bin fulan";
$arrval[1] = "joko bin dodo";
$arrval[3] = "mabhok bin jahannam";

然后,我想使用

  

in_array()

或类似的东西,用于搜索带有一些单词的数组,例如仅使用单词" joko"。因此,如果在数组列表中找到它将返回 true

我是否必须使用正则表达式?如果是这样,它在in_array()函数中的模式和用法如何?谢谢。

2 个答案:

答案 0 :(得分:1)

您不需要in_arraypreg_grep可以很好地处理数组。试试这个:

<?php
$arrval[0] = "fulanah bin fulan";
$arrval[1] = "joko bin dodo";
$arrval[2] = "mabhok bin jahannam";

$search_word="joko";
var_dump(preg_grep("/$search_word/",$arrval));
$search_word="test";
var_dump(preg_grep("/$search_word/",$arrval));

答案 1 :(得分:0)

您无法使用in_array()执行此操作。但您可以使用preg_grep()

$arrval[0] = "fulanah bin fulan";
$arrval[1] = "joko bin dodo";
$arrval[3] = "mabhok bin jahannam";

var_dump(preg_grep ('/\bjoko\b/', $arrval));

然后你可以return

$result = preg_grep ('/\bjoko\b/', $arrval);
return !empty($result);

<强>输出

array(1) {
  [1]=>
  string(13) "joko bin dodo"
}

Demo