在PHP中搜索数组

时间:2013-02-05 06:58:40

标签: php forms search multidimensional-array search-engine

我正在开发一个FAQ(常见问题)PHP脚本,我想为用户实现一种搜索常见问题解答的方法。这是一个小脚本,因此我在数组中有类别和常见问题解答,如下所示:

$qa = array();
$qa['Getting Started'] = array(array('What is 1+1?', '2'), array('What is the square root of 16?', 'The square root is 4'));
$qa['Installation'] = array(array('What is 2+2?', '4'), array('What is the square root of 64?', 'The square root is 8')); 

现在,我想要做的是从表单中获取搜索查询(使用GET请求)并搜索此数组以查找该搜索查询。我想知道我该怎么做呢?我是否必须先解析搜索查询才能搜索到数组?我是否可以使用array_search()函数或者我是否必须编写自己的代码来迭代数组?我还想知道使用不同的方法(XML,SQL等)存储常见问题是否更好?

3 个答案:

答案 0 :(得分:1)

我会使用数据库来解决类似的问题:

id int not null auto increment primary_key,
question text not null,
answer text not null

然后我会做一个类似查询的地方:

...
WHERE question LIKE '%questionsearchvalue%'
...

答案 1 :(得分:0)

请查看此主题,特别是阅读所有用户的评论。你可能会得到你需要的东西。

http://greengaloshes.cc/2007/04/recursive-multidimensional-array-search-in-php/

答案 2 :(得分:-1)

您可以使用另一种方法来解决它。回应所有FAQ,然后使用jquery highlight插件在html中搜索。

Here is the link