我在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
)
)
我有这个数组例如,我想显示“consultar”列的值,其中id_menu = 7
我怎么能回应这个?
感谢
答案 0 :(得分:1)
您可以将array_filter
与array_map
结合使用。
$result = array_map(
function ($v) {
return $v['consultar'];
},
array_filter($array, function ($v) {
return $v['id_menu'] == 7;
})
);
print_r($result);
答案 1 :(得分:0)
foreach($arr as $key=>$value){
if(isset($arr[$key]["id_menu"]) && $arr[$key]["id_menu"] == 7){
echo $arr[$key]["consultar"];
}
}
答案 2 :(得分:0)
如果只有一个项目,你将不得不迭代并找到匹配的元素,如果有多个项目,一种方法是使用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']}";
}