<?php
$sectorcount = $row_SectorCount['COUNT(*)'];
//number of rows in database
for ($i = 1; $i <= $sectorcount; $i++)
{
${spendingname . $i}= array();
${spendingpercent . $i} = array();
${spendingid . $i} = array();
mysql_select_db($database_conn2, $conn2);
$query_Spending = "SELECT CONCAT(spending.SectorID, spending.ExpenditureID) AS 'SpendingID',
expenditure.ExpenditureName, spending.SpendingPercent, spending.SectorID
FROM spending
INNER JOIN expenditure ON spending.ExpenditureID = expenditure.ExpenditureID
WHERE spending.SectorID = ".$i;
$Spending = mysql_query($query_Spending, $conn2) or die(mysql_error());
$totalRows_Spending = mysql_num_rows($Spending);
while($row_Spending = mysql_fetch_assoc($Spending))
{
${spendingname.$i}[] = $row_Spending['ExpenditureName'];
${spendingpercent.$i}[] = $row_Spending['SpendingPercent'];
${spendingid.$i}[]= $row_Spending['SpendingID'];
}
mysql_free_result($Spending);
}
我计划在这里使用它。有一个数组使用where子句绘制值并单独显示它们
答案 0 :(得分:3)
这就是您要找的内容:
for ($i = 0; $i < 14; $i++) {
${'name' . $i} = $i;
}
echo $name3;
但 只需使用数组:
$name = array();
for ($i = 0; $i < 14; $i++) {
$name[$i] = $i;
}
echo $name[3];
如果您需要数组中的数组,请继续执行此操作。如果你需要更多的嵌套数组,你应该以某种方式使用一个类而不是所有的数组嵌套。
答案 1 :(得分:2)
首先,我建议使用数组代替。 Variable variables并不意味着像这样使用。
也就是说,可以通过访问${$name.$i}
,或者做一些像
$varname = $name.$i;
$$varname = 1; // or read from $$varname
答案 2 :(得分:1)
使用数组。这就是他们的目的。
答案 3 :(得分:1)
正如Kolink所说,这就是阵列的用途!
然而,您所要求的是:
基本上,
<?php
for($i=0; $i<=13; $i++){
$varname = "name" . $i;
$$varname=$i;
}
echo $name1; // 1
?>
答案 4 :(得分:1)
它不会给出所需的输出1而是给出13
这样做的原因是什么。您可以在以后使用array
进行访问
for($i=0; $i<=13; $i++)
{
$name[$i]=$i;
}
echo $name[1]; *//it will echo 1