如果另一个值为 true,如何遍历二维数组并显示值


How can I loop through a two-dimensional array and display the values if another value is true?

我有一个数组,如下所示:

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 />';
}