数组中的PHP搜索行

数组中的PHP搜索行,php,arrays,search,line,Php,Arrays,Search,Line,我在mysql上有一个结果,我有很多行和很多列。我需要回应一句我不知道的话 例如: Array ( [0] => Array ( [0] => 195 [id_privilegios] => 195 [1] => 206 [id_usuario] => 206 [2] => 10 [id_men

我在mysql上有一个结果,我有很多行和很多列。我需要回应一句我不知道的话

例如:

Array
(
    [0] => Array
        (
            [0] => 195
            [id_privilegios] => 195
            [1] => 206
            [id_usuario] => 206
            [2] => 10
            [id_menu] => 10
            [3] => S
            [consultar] => S
            [4] => 
            [inserir] => 
            [5] => S
            [alterar] => S
            [6] => 
            [excluir] => 
        )

    [1] => Array
        (
            [0] => 194
            [id_privilegios] => 194
            [1] => 206
            [id_usuario] => 206
            [2] => 9
            [id_menu] => 9
            [3] => S
            [consultar] => S
            [4] => S
            [inserir] => S
            [5] => S
            [alterar] => S
            [6] => S
            [excluir] => S
        )

    [2] => Array
        (
            [0] => 193
            [id_privilegios] => 193
            [1] => 206
            [id_usuario] => 206
            [2] => 1
            [id_menu] => 1
            [3] => S
            [consultar] => S
            [4] => S
            [inserir] => S
            [5] => S
            [alterar] => S
            [6] => S
            [excluir] => S
        )

    [3] => Array
        (
            [0] => 224
            [id_privilegios] => 224
            [1] => 206
            [id_usuario] => 206
            [2] => 56
            [id_menu] => 56
            [3] => S
            [consultar] => S
            [4] => S
            [inserir] => S
            [5] => S
            [alterar] => S
            [6] => 
            [excluir] => 
        )

    [4] => Array
        (
            [0] => 223
            [id_privilegios] => 223
            [1] => 206
            [id_usuario] => 206
            [2] => 52
            [id_menu] => 52
            [3] => S
            [consultar] => S
            [4] => S
            [inserir] => S
            [5] => S
            [alterar] => S
            [6] => S
            [excluir] => S
        )

)
以这个数组为例,我想显示id_menu=7的“consultar”列的值

我怎么能回应这个


谢谢

如果只有一个项目,您必须迭代并找到匹配的元素,如果有多个项目,一种方法是使用array_filter过滤掉所有匹配的数组元素

function myFilter( $row) {
   return ($row['id_menu'] == 7);
}

$matches = array_filter($my_array, "myFilter");
foreach ($matches as $element) {
   echo "Menu Id: {$element['id_menu']} Consultar: {$element['consultar']}";
}

您可以将
array\u filter
array\u map
结合使用

$result = array_map(
    function ($v) {
        return $v['consultar'];
    },
    array_filter($array, function ($v) {
        return $v['id_menu'] == 7;
    })
);
print_r($result);

通过迭代数组并检查
['id\u menu']
键,使数组输出更具可读性您可以通过将
print\u r()
语句包装在
标记中获得格式化输出,如:
echo'。print\r($yourray,TRUE)。“”。这一点以前已经得到了回答,请看一看:更改查询以便只在id\u菜单值与所需匹配的地方得到结果是否更有意义?您所做的可能对您的情况有意义,但通常最好是进行查询,以便您的结果数据更好地符合您的需要。它缺少一个“)”我更改为array_filter($array,function($v)){但它不起作用“/Parse error:syntax error,意外的T_函数,应为“')将PHP版本更新为5.3+警告:为foreach()提供的参数无效
$result = array_map(
    function ($v) {
        return $v['consultar'];
    },
    array_filter($array, function ($v) {
        return $v['id_menu'] == 7;
    })
);
print_r($result);