if ($variable=="x") {
$xs = 10;
}
if ($variable=="y") {
$xy = 12;
}
我想发表功能if
声明。我可以用循环代替一个一个吗?
我如何形成这个,如:
if $variable = a(0.) , b(1.) , c(2.) , d(3.) , e(4.) )
$variables=(n+1)*7
示例:
if $variable = a
n=0
$variables=7
示例:
if $variable=d
n=3
$variables = 28
答案 0 :(得分:2)
你在找这样的东西吗?
$variables = (ord(strtoupper($variable)) - ord('A') + 1) * 7;
ord()
返回char的ASCII值,然后你只需减去'A'的ASCII值(字母表的第一个字符),然后添加一个(从你的公式中)并乘以7
BTW我建议在使用函数之前测试$variable
值...
答案 1 :(得分:0)
答案是是如果检查 (有点) functional,你可以做到这一点:
$ifs = [ 'x' => 10, 'y' => 12 ];
$outs = [];
$variable = 'x';
array_walk($ifs, function($i, $k) use($variable, &$outs) {
if($k === $variable) {
$outs[$k] = $i;
}
});
var_dump($outs);
我认为真正的问题是你是否真的想要。