我如何获得动态名称?

时间:2013-10-09 11:20:03

标签: php

美好的一天。

我需要检查42个名字,但很长:

我使用下一个代码:

$info_1 = (isset($info['1'])) ? $info['1'] : 0;
$info_2 = (isset($info['2'])) ? $info['2'] : 0;

$info_42 = (isset($info['42'])) ? $info['42'] : 0;

我可以获得dinamic名字吗?

离。我想用代码:

for($i=0;$i<43;$i++){
$info_$i = (isset($info[$i])) ? $info[$i] : 0;
}

如何为$i添加$info

有可能吗?

4 个答案:

答案 0 :(得分:4)

for($i=0;$i<43;$i++){
    $name = 'info_'.$i;
    $$name = (isset($info[$i])) ? $info[$i] : 0;
}

答案 1 :(得分:1)

更好地使用数组:

for($i=0;$i<43;$i++){
    $info[$i] = (isset($info[$i])) ? $info[$i] : 0;
}

答案 2 :(得分:0)

你可以这样做

for($i = 0; $i<43; $i++) {
  $var_name = "info_{$i}";
  $$var_name = isset($info[$i])) ? $info[$i] : 0;
}

但是如果你真的需要这种东西,那么你真的错了,最好把这长长的变量列表转换成数组;

答案 3 :(得分:0)

另一种选择:

for($i=0;$i<43;$i++){

  ${"info_$i"} = (isset(${"info_$i"}) ? ${"info_$i"} : 0;
}