我在php中有一系列变量:
move1A = $row['column'];
move2A = $row['column'];
move3A = $row['column'];
etc.
我想创建一个代表这些变量的变量,并检查它是否为NULL。我花了很多时间看,虽然我相信variable variables可能是我问题的关键。到目前为止,我已经尝试过:
$current_move_check = 'move'.$moveCounter.'A';
和
$current_move_check = '$move'.$moveCounter.'A';
似乎都没有用。有什么建议可以做这样的工作吗?谢谢!
更新:
所以我试图根据用户输入循环moveXA变量,我需要运行不同的脚本,无论它是null还是set。
我想:
elseif (!$$current_move_check) {
和
elseif ($$current_move_check) {
会起作用,但它们似乎没有按预期输出。
答案 0 :(得分:1)
考虑到你的更新,我真的建议你使用一个数组,而不是变量变量技巧。您的代码更有意义,更易于维护:
$count = 0;
$moveA[++$count] = $row['column'];
$moveA[++$count] = $row[...];
$moveA[++$count] = $row[...];
...
foreach ($moveA as $key => $value) {
if ($value) { // = $$current_move_check
} else { // = !$$current_move_check
}
}
正如@MatsLindh在其评论中所指出的那样:"变量变量永远不是一个好主意。除非你知道什么时候打破这个规则是有意义的,否则不要。"
答案 1 :(得分:0)
$current_move_check = 'move'.$moveCounter.'A';
echo $$current_move_check;
现在你也可以检查这个
if($$current_move_check!=NULL)
{
// do your code
}