部分或完整的文本我有一個HTML搜索表單:搜索在陣列
<form method="post">
<input type="text" name="term" />
<br />
<input type="submit" name="submit" value="Submit" />
</form>
然後我有一個foreach循環來檢查,如果數組項包含搜索詞:
<?php if (is_array($data['page'])): ?>
<?php foreach ($data['page'] as $item): ?>
<?php foreach($item as $item_member): ?>
<?php if(strpos($item_member, $_POST['term']) !== FALSE): ?>
<tr>
<?php foreach ($columns as $key => $column): ?>
<?php $key = parse_class($key); ?>
<td class="<?php echo $key['class']; ?>"><a class="cell-link"
href="<?php echo $details_link . $item[$details_id_field]; ?>">
<?php echo (!empty($item[$key['column']])) ? $item[$key['column']] : ' '; ?>
</a></td>
<?php endforeach; ?>
</tr>
<?php endif; ?>
<?php endforeach; ?>
<?php endforeach; ?>
<?php endif; ?>
這裏是一個更可讀的版本
if(is_array($data['page'])){
foreach($data['page'] as $item){
if(array_search($_POST['term'], $item)){
echo "<tr>";
foreach($columns as $key => $column){
$key = parse_class($key);
echo '<td class="' . $key['class'] . '"><a class="cell-link" href="' . $details_link . $item[$details_id_field] . '">';
echo (!empty($item[$key['column']])) ? $item[$key['column']] : ' ';
echo '</a></td>';
}
echo '</tr>';
}
}
}
目前,只有搜索條件是完全相同的搜索項目中的名稱。
陣列項目包含以下信息:
234|test|21|Jul 28, 2013|0%|1375026328|1375026328|Test)/
我真的僅在匹配項中的第二個值(在上面的「試驗」的例子有興趣與搜索術語「術語」
我試過in_array,strpos沒有運氣
對於上面的例子,目前只有在搜索表單中輸入「test」的確切文字時纔會出現結果。這是一個不完整的搜索短語的例子,沒有任何顯示。
你的代碼是很難閱讀所有'<?php'開放標籤 – sgroves
'preg_grep()'可能會做你想要什麼 - 通過正則表達式搜索字符串的數組。 –