PHP变量for循环

时间:2012-01-04 01:58:24

标签: php

嘿,伙计们甚至可以在php中完成

<?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子句绘制值并单独显示它们

5 个答案:

答案 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所说,这就是阵列的用途!

然而,您所要求的是:

Read More Here

基本上,

<?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