PHP的in_array在处理多维数组时怎样操作

   2024-09-30 8810
核心提示:在PHP中,in_array() 函数用于在一个一维数组中搜索一个值,它不能直接处理多维数组。如果要搜索多维数组中的值,你可以使用 arr

在PHP中,in_array() 函数用于在一个一维数组中搜索一个值,它不能直接处理多维数组。如果要搜索多维数组中的值,你可以使用 array_search() 函数或者递归地遍历多维数组。

以下是使用 array_search() 函数搜索多维数组的示例:

$multi_array = [    'level1' => [        'level2a' => [            'value' => 'target',        ],        'level2b' => [            'value' => 'other',        ],    ],    'level1b' => [        'level2c' => [            'value' => 'target',        ],    ],];$search_value = 'target';// 使用 array_search() 搜索多维数组$result = array_search($search_value, $multi_array);if ($result !== false) {    echo "找到了值:{$result}";} else {    echo "没有找到值";}

使用递归遍历多维数组的示例:

function search_in_multi_array($array, $search_value) {    foreach ($array as $key => $value) {        if (is_array($value)) {            $result = search_in_multi_array($value, $search_value);            if ($result !== false) {                return $result;            }        } else {            if ($value === $search_value) {                return $key . '[' . $value . ']';            }        }    }    return false;}$search_value = 'target';$result = search_in_multi_array($multi_array, $search_value);if ($result !== false) {    echo "找到了值:{$result}";} else {    echo "没有找到值";}

这两个示例都会输出:找到了值:level1[level2a][value]

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号