我的teams
表中有一行名为player1
,player2
,player3
... player12
。在PHP脚本中,我将它们设置为变量($player1
,$player2
...),并希望循环遍历它们以检查它们是否为NULL
,以及它们是否不计算它们。
如何在PHP中增加变量?我试过这样做:
<?
$playerspicked = 0;
for($i = 1; $i <= 12; $i++) {
$playercheck = "$player"+$i;
if($playercheck != 0) {
$playerspicked++;
}
}
?>
但这不会起作用。
答案 0 :(得分:3)
您可以使用复杂表达式(大括号{}
)围绕变量名称执行此操作。
if(empty(${"player$i"})) {
//player$i is empty
}
复杂表达式允许您动态设置变量名称。
为了帮助您更好地了解这些工作方式,我将向您展示 你也可以使用这些就像常规字符串连接一样
$variable = "many test";
echo "this is a test echo. {$variable}";
我通常使用它来根据键
为许多数组变量生成变量$array = array("key1" => "value1", "key2" => "value2");
foreach($array as $key => $value) {
${$key} = $value;
}
上面的代码会创建2个变量$key1
和$key2
,并带有与之关联的适当值。
或者,我很确定你可以在你的变量的前面添加另一个$
,但我会说这更难以阅读并弄清楚发生了什么。
$playercheck = "player"+$i;
if($$playercheck != 0) {
$playerspicked++;
}
答案 1 :(得分:1)
在你的情况下,有一种更容易的方法来计算团队中所有非空的玩家。
echo count(array_filter($ yourTeam));
没有第二个参数的array_filter函数将自动删除空条目。