迭代PHP变量(列表/数组),然后根据其值输出索引


Iterate on PHP variable (list/array) then output the index based on its value

在PHP中使用以下示例:

$priv['PAGE_A'] = 11;
$priv['PAGE_B'] = 22;
$priv['PAGE_C'] = 33;
$priv['PAGE_D'] = 44;

1)我想迭代$priv中的4个值。"foreach"是正确的做法吗?

2)如果该值大于给定的数字,我想回显该值的索引。不知道该怎么做。比较值必须是INT(不是string)。

交货。如果使用"30",它将输出:

PAGE_C
PAGE_D

有可能吗?或者我没有使用正确的容器来做我想做的事情?

p。在本例中如何调用"$priv"类型?数组?索引变量?一本字典?列表?

谢谢。

基本上:

<?php
function foo($var){
    $priv['PAGE_A'] = 11;
    $priv['PAGE_B'] = 22;
    $priv['PAGE_C'] = 33;
    $priv['PAGE_D'] = 44;
    $out='';
    foreach ($priv as $k=>$v){
        if ($v >$var){
            $out .= $k.'<br>';
        }
    }
  return $out;
}
echo foo('30');

演示:http://codepad.viper - 7. - com/gnx7gf

创建一个包含要遍历的字母的数组。

$letters = array('A','B','C','D');
for($i=0;$i<count($letters);$i++) {
    if($priv['PAGE_' . $letters[$i]] > /*value*/) {
        echo $priv['PAGE_' . $letters[$i]];
    }
}

$priv是一个数组

而且,我也不太清楚你到底想做什么。如果数组元素的值大于常量,您是否试图回显它的值?

我们可以使用PHP内置的数组函数来实现。如果可能的话,最好使用内置函数来提高性能。

array_walk就可以了。在本例中,$priv是一个PHP关联数组。下面的一行脚本将完成您想要完成的任务:

$input          = 30;
$priv['PAGE_A'] = 11;
$priv['PAGE_B'] = 22;
$priv['PAGE_C'] = 33;
$priv['PAGE_D'] = 44;
array_walk($priv, function($value, $key, $input){ if($value > $input) echo $key . '<br>';}, $input);
相关文章: