如何收集数组中所有真值的键?

Tru*_*ufa 0 php arrays function while-loop

这是 PHP 文档中代码的略微修改版本:

http://php.net/manual/en/function.next.php

<?php

$array = array(
    -1 => true,
    0 => false,
    1 => true
);

while ($bet = current($array)) {
    if ($bet == true) {
        echo key($array) . '<br />';
    }
    next($array);
}
?>
Run Code Online (Sandbox Code Playgroud)

这是尽可能接近我想要的。

这与“-1”相呼应,我明白为什么。

我想知道的是如何修改此代码,以便它即使在遇到 false(而不仅仅是 3 个值的数组)后仍会继续搜索“true”值。

我意识到这可能不是最好的方法,我愿意接受建议。

提前致谢!!

特鲁法

Bra*_*ace 7

echo join("<br>", array_keys(array_filter($array)));
Run Code Online (Sandbox Code Playgroud)

array_filter当您不提供回调方法时返回真值,为您array_keys获取这些值的键,然后使用它准备输出join