我有一个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?)
}