我正在尝试搜索多维数组,以便将内容附加到特定元素。我有一个执行搜索的函数并返回该数组的特定部分,但我需要密钥,因此我可以进行$array[key]
编辑。
获取数组的函数
function arraySearch($array, $key, $value)
{
$results = array();
if (is_array($array))
{
if (isset($array[$key]) && $array[$key] == $value)
$results[] = $array;
foreach ($array as $subarray)
$results = array_merge($results, arraySearch($subarray, $key, $value));
}
return $results;
}
我真的不知道如何编辑它来从数组中获取密钥。
答案 0 :(得分:0)
尝试使用引用“&”
function arraySearch($array, $key, $value)
{
$results = array();
if (is_array($array))
{
if (isset($array[$key]) && $array[$key] == $value)
$results[] = &$array;
foreach ($array as $subarray)
$results = array_merge($results, arraySearch($subarray, $key, $value));
}
return $results;
}
然后您将能够处理每个$ results条目,就好像它直接在$ array中一样。
$searchResult = arraySearch($myArray, 'test', 'val');
foreach ($searchResult as &$item) {
$item['nb']++;
}