Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 具有数组中特定键的FOREACH_Php_Foreach - Fatal编程技术网

Php 具有数组中特定键的FOREACH

Php 具有数组中特定键的FOREACH,php,foreach,Php,Foreach,我有一个变量列表: <?php $var[1] = "do not show"; $var[2] = "show this #1"; $var[3] = "do not show"; $var[4] = "do not show"; $var[5] = "show this #2"; ?> 但是没有运气 是否可以不必在条件下过滤密钥?谢谢。最简单的方法是在循环中进行测试: <?

我有一个变量列表:

<?php
$var[1] = "do not show";
$var[2] = "show this #1";
$var[3] = "do not show";
$var[4] = "do not show";
$var[5] = "show this #2";
?>
但是没有运气


是否可以不必在条件下过滤密钥?谢谢。

最简单的方法是在循环中进行测试:

<?php
foreach($var as $key=>$val) {
    if ( !in_array($key, [2,5])) { continue; }
    // ... do stuff
}

索引2和索引5有什么特殊之处?如何以编程方式定义它?不管条件如何,它都是第二个和第五个键吗?您将不得不在不了解更多信息的情况下使用条件。可以与
ARRAY\u FILTER\u USE\u KEY一起使用
如果您想说仅在KEY为2或5Alhamdulillah时保留值,非常感谢,这就是我几小时前寻找的答案。
<?php
foreach($var as $key=>$val) {
    if ( !in_array($key, [2,5])) { continue; }
    // ... do stuff
}
<?php
foreach(array_intersect_key($var, ['2'=>'','5'=>'']) as $key=>$val) {
    // do stuff
}