检查变量是否包含post值的任何部分


Check if variable contains any part of post value

我有一个html搜索表单,它提交了值"term":

 <form method="post">
    <input type="text" name="term" />
    <br />
    <input type="submit" name="submit" value="Submit" />
  </form>

然后我有一个foreach循环,即检查$item是否包含搜索词"term"

     <?php foreach ($data['page'] as $item): ?>
     <?php if (in_array($_POST['term'], $item)): ?> 
          //do something
      <?php endforeach; ?>

目前,只有当搜索词与项目完全相同时,搜索才有效(term==item)。如果搜索词包含项目的某些部分,我该如何更改它,以便搜索能够拾取任何条目。

例如:目前,它只会通过键入"Wembley"来找到"Wembly"的结果——我可以更改它,使我只能键入"Wemb",例如,它会显示条目"Wemble"吗?

使用stripos($haystack, $needle):http://php.net/manual/en/function.stripos.php

你的代码会变成:

if(stripos($item, $_POST['term']) !=== false) {
    // There is a match, do something (echo?)
}