我有一个数组,如下所示:
0
name => 'john',
age => '99',
isTheOne => boolean true
1
name => 'Jeff',
age => '88',
isTheOne => boolean false
我需要做的是,对于数组中的每一行,仅在字段isTheOne
true
时才显示其内容。
我以为我需要使用 while
循环来执行此操作,但我有点卡住了。我不知道如何推进?
这应该适合您:
<?php
$array = array(
0 => array(
"name" => 'john',
"age" => '99',
"isTheOne" => true
),
1 => array(
"name" => 'Jeff',
"age" => '88',
"isTheOne" => false
)
);
foreach($array as $subarray) {
foreach($subarray as $k => $v) {
if($k == "isTheOne" && $v == TRUE)
echo "Key: " . $k . " Value: " . $v;
}
}
?>
输出:
Key: isTheOne Value: 1
您可以使用 array_map() 代替循环。例:
$arr= array(
array(
"name" => 'john',
"age" => '99',
"isTheOne" => true,
),
array(
"name" => 'Jeff',
"age" => '88',
"isTheOne" => false,
)
);
array_map(function($v){
if(isset($v['isTheOne']) && $v['isTheOne']) echo 'TheOne is true <br />';
}, $arr);
使用foreach()
foreach($arr as $val){
if(isset($val['isTheOne']) && $val['isTheOne'])
echo 'TheOne is True <br />';
}