2

我在这里找到了一个示例,它显示了这样的示例:

<?php 
for ($i = 1; $i <= 5; $i++) {
  ${a.$i} = "value";
}    

echo "$a1, $a2, $a3, $a4, $a5";
//Output is value, value, value, value, value
?>

是否可以修改它以像这样工作:

for($x=1; $x<11; $x++)
{
    ${title.$x} = $row['${title.$x}'];
    ${brief.$x} = $row['${brief.$x}'];
    ${cost.$x} = $row['${cost.$x}'];

    echo "<tr>
               <td>${title.$x}</td>
          </tr>
          <tr>
               <td>${brief.$x}</td>
          </tr>
         ";
 }

$row 数组来自 mysql 查询。

4

2 回答 2

1
for($x=1; $x<11; $x++)
{
    ${'title'.$x} = $row['title'.$x]; // will be like: $title1 = $row['title1']; (if you mean that)
    ${'brief'.$x} = $row['brief'.$x];
    ${'cost'.$x} = $row['cost'.$x];

    echo "<tr>
               <td>${'title'.$x}</td>
          </tr>
          <tr>
               <td>${'brief'.$x}</td>
          </tr>
         ";
 }

如果您的变量名与 中的键名相同,则$row可以使用extract($row)来获取所需的所有变量。

但在你的情况下,我认为$row直接使用数组并不是坏主意。

于 2012-05-23T02:15:40.947 回答
0

只要您可以将所有内容转换$row为变量,最简单的方法是使用 PHP 的extract()(将数组转换为变量),只需编写extract($row);

于 2012-05-23T02:15:51.950 回答