Php 搜索数组并返回数组
如果数组和一个特定字段匹配,我如何返回数组 更清楚地说,假设我有一个数组,看起来是这样的--- 因此,这里我想要的是,如果我搜索valvet,它应该在数组的[product\u name]字段中搜索,并返回带有其他字段的数组 比如说--- 如果我搜索valvet,它应该返回-- 这是我的PHP代码,我正在尝试做的-- 但是它只返回Php 搜索数组并返回数组,php,arrays,Php,Arrays,如果数组和一个特定字段匹配,我如何返回数组 更清楚地说,假设我有一个数组,看起来是这样的--- 因此,这里我想要的是,如果我搜索valvet,它应该在数组的[product\u name]字段中搜索,并返回带有其他字段的数组 比如说--- 如果我搜索valvet,它应该返回-- 这是我的PHP代码,我正在尝试做的-- 但是它只返回[“product_name”]而不是匹配的数组 我该如何解决这个问题?有人能帮我解决这个问题吗 为什么不用$v代替$ret function my_array_sea
[“product_name”]
而不是匹配的数组
我该如何解决这个问题?有人能帮我解决这个问题吗 为什么不用
$v
代替$ret
function my_array_search($array, $string)
{
$ret = false;
$pattern = preg_replace('/\s+/', ' ', preg_quote($string, '/'));
foreach($array AS $k => $v) {
$res = preg_grep('/' . $pattern . '/', $v);
if(!empty($res)) $ret[$k] = $v;
}
return $ret;
}
preg_grep-返回与模式匹配的数组项
因此,在您的例子中,它返回产品名称
。您需要整个数组,您搜索了ie.$v
:
if (!empty($res)) $ret[$k] = $v;
$data = 'plus'; // what i want to search
$search = my_array_search($all_data, $data);
function my_array_search($array, $string)
{
$ret = false;
$pattern = preg_replace('/\s+/', ' ', preg_quote($string, '/'));
foreach($array AS $k => $v) {
$res = preg_grep('/' . $pattern . '/', $v);
if(!empty($res)) $ret[$k] = $res;
}
return $ret;
}
function my_array_search($array, $string)
{
$ret = false;
$pattern = preg_replace('/\s+/', ' ', preg_quote($string, '/'));
foreach($array AS $k => $v) {
$res = preg_grep('/' . $pattern . '/', $v);
if(!empty($res)) $ret[$k] = $v;
}
return $ret;
}
if (!empty($res)) $ret[$k] = $v;