创建一个PHP列表函数,带万能搜索器
时间: 2023-02-07 07:05:35 浏览: 71
好的,下面是一个使用 PHP 创建带有万能搜索器的列表函数的示例。
首先,我们需要一个数据源,可以是数据库中的表或数组。在这里,我们将使用一个简单的数组,其中包含名称、电子邮件地址和手机号码。
```
$people = array(
array('name' => 'John', 'email' => 'john@example.com', 'phone' => '123-456-7890'),
array('name' => 'Jane', 'email' => 'jane@example.com', 'phone' => '123-456-7891'),
array('name' => 'Bob', 'email' => 'bob@example.com', 'phone' => '123-456-7892'),
array('name' => 'Alice', 'email' => 'alice@example.com', 'phone' => '123-456-7893')
);
```
然后,我们可以创建一个函数来显示列表,并使用搜索字符串进行过滤。
```
function showList($people, $search = '') {
// 如果提供了搜索字符串,则使用正则表达式进行过滤
if ($search != '') {
$pattern = '/' . preg_quote($search) . '/i';
$people = array_filter($people, function($person) use ($pattern) {
return preg_match($pattern, $person['name']) ||
preg_match($pattern, $person['email']) ||
preg_match($pattern, $person['phone']);
});
}
// 显示结果
if (count($people) > 0) {
echo '<table>';
echo '<tr><th>Name</th><th>Email</th><th>Phone</th></tr>';
foreach ($people as $person) {
echo '<tr>';
echo '<td>' . $person['name'] . '</td>';
echo '<td>' . $person['email'] . '</td>';
echo '<td>' . $person['phone'] . '</td>';
echo '</tr>';
}
echo '</table>';
} else {
echo '<p>No results found.</p>