如何使用另一个变量的文本和值创建php变量
希望在另一个变量的值之前和之后使用文本创建一个php变量如何使用另一个变量的文本和值创建php变量,php,Php,希望在另一个变量的值之前和之后使用文本创建一个php变量 for($i=0; $i<$numOfTeams; $i++) { echo $teamAbbr[$i]."<br>"; $TeamWins = 'vs' . $teamAbbr[$i] . '_W'; echo "TeamWins=$TeamWins<br>"; $TeamWinsHold = $rows[$TeamWins]; echo "Tea
for($i=0; $i<$numOfTeams; $i++) {
echo $teamAbbr[$i]."<br>";
$TeamWins = 'vs' . $teamAbbr[$i] . '_W';
echo "TeamWins=$TeamWins<br>";
$TeamWinsHold = $rows[$TeamWins];
echo "TeamWinsHold=$TeamWinsHold<br>";
$$TeamWins[] = $TeamWinsHold;
}
变量。但我只看到没有文本的作业示例
$vsBOA_W[]=$rows['vsBOA_W'];
// BOA = team 3-char abbreviation. Looking for something similar to above but insert 3-char abbreviations based on a input file.
$numOfTeams = 3; // Determined from external source
$teamAbbr = array("BOA","CAA","CHN"); // For simplicity for this example. This array would normally be created from an external source.
for($i=0; $i<$numOfTeams; $i++) { // I know I can use size of array instead of nunOfTeams. That's not the issue.
echo $teamAbbr[$i]."<br>"; // for testing
$$("vs".{'$teamAbbr[$i]'}."_W[]"} = $rows['$$("vs".{'$teamAbbr[$i]'}."_W"}']; // a total guess
}
for($i=0; $i<$numOfTeams; $i++) {
echo $teamAbbr[$i]."<br>";
$TeamWins = 'vs' . $teamAbbr[$i] . '_W';
echo "TeamWins=$TeamWins<br>";
$TeamWinsHold = $rows[$TeamWins];
echo "TeamWinsHold=$TeamWinsHold<br>";
$$TeamWins[] = $TeamWinsHold;
}
为了宝儿
for($i=0; $i<$numOfTeams; $i++) {
echo $teamAbbr[$i]."<br>";
$TeamWins = 'vs' . $teamAbbr[$i] . '_W';
echo "TeamWins=$TeamWins<br>";
$TeamWinsHold = $rows[$TeamWins];
echo "TeamWinsHold=$TeamWinsHold<br>";
$$TeamWins[] = $TeamWinsHold;
}
更新#2:我尝试了以下步骤(分解每个步骤),并在$$TeamWins分配中得到相同的错误
for($i=0; $i<$numOfTeams; $i++) {
echo $teamAbbr[$i]."<br>";
$TeamWins = 'vs' . $teamAbbr[$i] . '_W';
echo "TeamWins=$TeamWins<br>";
$TeamWinsHold = $rows[$TeamWins];
echo "TeamWinsHold=$TeamWinsHold<br>";
$$TeamWins[] = $TeamWinsHold;
}
对于($i=0;$i我不太理解示例中的行之间的相互作用。但是根据猜测赋值,您可以通过预先形成变量名来简化:
for($i=0; $i<$numOfTeams; $i++) {
echo $teamAbbr[$i]."<br>";
$TeamWins = 'vs' . $teamAbbr[$i] . '_W';
echo "TeamWins=$TeamWins<br>";
$TeamWinsHold = $rows[$TeamWins];
echo "TeamWinsHold=$TeamWinsHold<br>";
$$TeamWins[] = $TeamWinsHold;
}
<?php
$rows = ['xFOOy'=>[], 'xBARy'=>[], 'xBAZy'=>[]];
$items = ['FOO', 'BAR', 'BAZ'];
foreach($items as $abbr)
{
$name = 'x' . $abbr . 'y';
${$name}[] = $rows[$name];
}
为了澄清,我希望将此代码用于多个表。一个表有一组团队(例如:BOA、CAA、CHN),另一个表有另一组团队(例如:ABC、DEF、GHI)。外部文件告诉php代码要处理哪些团队(可以是全部团队,也可以是少数团队)。请尝试${$TeamWins}[]
。行的原因参考,$rows['vsBOA_W'],是指我正在循环浏览团队的所有年份/记录,并以数组形式显示,$vsBOA_W[],可以更新。$$name[]=$rows[$name];返回一个错误:无法使用[]阅读请参见我的更新#2。@user2140857,您必须使用一个生命终止的PHP版本,经过编辑以解决该错误。正确。使用PHP5.6。这不是生产代码。永远不会。从来没有要求使用7.0。也许我现在这样做了?