在PHP中使用以下示例:
$priv['PAGE_A'] = 11;
$priv['PAGE_B'] = 22;
$priv['PAGE_C'] = 33;
$priv['PAGE_D'] = 44;
1)我想迭代$ priv中的4个值。会不会出现#&做正确的方法吗?
2)如果该值高于给定的数字,我想回显该值的索引。不知道怎么做。比较必须是INT(不是字符串)。
实施例。使用" 30"它会输出:
PAGE_C
PAGE_D
有可能吗?或者我可能没有使用正确的容器来做我想做的事情?
PS。你怎么称呼" $ priv"在这个例子中?数组 ?索引变量?一本字典 ?一个清单?
谢谢。
答案 0 :(得分:4)
基本上是:
<?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');
答案 1 :(得分:1)
只需创建一个包含迭代字母的数组。
$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是一个数组。
另外,我不太清楚你究竟想做什么。您是否尝试回显数组元素的值,如果它大于常量值?
答案 2 :(得分:0)
我们可以使用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);