数组中的PHP搜索行
我在mysql上有一个结果,我有很多行和很多列。我需要回应一句我不知道的话 例如:数组中的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
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);