在过去的几个小时中一直在为此苦苦挣扎.尝试为数组构建搜索功能,然后吐出一个新的包含所有具有关键字的数组的函数.
这是我正在使用的函数,不确定这是否朝着正确的方向前进,它正在返回数组中的数组,这不是我想要的.
function search_array($array, $needle) {
$results = array();
$hasValue = false;
foreach ($array as $subarray) {
foreach($subarray as $value){
if(strpos($value,$needle) !== false)
$hasValue = true;
}
if($hasValue = true)
$results[] = $array;
}
return $results;
}
我正在搜索的数组的结构如下:
Array
(
[0] => Array
(
[ID] => 27
[title] => Steve Jobs
[balance] => $147
[paid_1] => $49
[date_1] => 26 August, 2013
[paid_2] => $49
[date_2] => 26 August, 2013
[paid_3] => $49
[date_3] => 26 August, 2013
)
[1] => Array
(
[ID] => 26
[title] => Bill Gates
[balance] => $300
[paid_1] => $100
[date_1] => 25 August, 2013
[paid_2] => $100
[date_2] => 25 August, 2013
[paid_3] => $100
[date_3] => 25 August, 2013
)
)
我想发生的事情是使用从搜索表单中输入的数据,然后查找已输入关键字的所有数组.例如,搜索“ Bill”将返回一个新数组以及包含“ Bill”的其他任何数组,其结构如下:
Array
(
[0] => Array
(
[ID] => 26
[title] => Bill Gates
[balance] => $300
[paid_1] => $100
[date_1] => 25 August, 2013
[paid_2] => $100
[date_2] => 25 August, 2013
[paid_3] => $100
[date_3] => 25 August, 2013
)
)
我在这里读过其他文章,做了类似的事情,尤其是这篇文章:How to search by key=>value in a multidimensional array in PHP似乎很接近,除了我只想按字符串中的值而不是键进行搜索.任何帮助是极大的赞赏.