【问题标题】:Generate variable with incrementation生成带增量的变量
【发布时间】:2019-06-07 09:15:36
【问题描述】:

我想在循环中增加一个变量。为此,我创建了一个变量,每回合递增一次。

我尝试了很多方法,例如下面介绍的方法,但没有任何效果...谢谢。谢谢。

    <?php 
    $i = 1;
    while($i < 16):?>

    <tr id="<?= $i; ?>" >
        <td class="hidden-xs"><?= $expenses += $i['name']; ?></td>
        <td class="hidden-xs"><?= $expenses += $i['price']; ?> &euro;</td>
    </tr>

    <?php 
    $i++;
    endwhile; ?>

【问题讨论】:

  • 你从哪里得到$i['name']
  • 哦..我认为这是一个错误..我只想显示“echo $expenses_1['name']; echo $expenses_2['name']; ....”
  • 为什么要这样命名变量?改用关联数组。
  • 我编辑我的回复,我写错了

标签: php variables dynamic


【解决方案1】:

澄清几点:

  1. 在 php 中,您可以使用 ..= 运算符连接字符串 而不是+= 运算符。后一个只加数字 变量的值。
  2. 您不能连接变量名并期望它们充当另一个变量。例如:期望 $expenses.$i 以某种方式转换为 $费用_1。您使用 . 运算符所做的是 连接变量 values 而不是它的 name
  3. 如果您希望遍历一个变量列表,每个变量的名称都不同,那么使用变量创建一个数组会更方便 价值全部包含在内且结构良好。

要回答您的具体问题: 使用数组数组来存储所有信息:

<?php 
$expenses = [0 => ['name' => 'ExpenseName1',
                   'price' => 'ExpensePrice1'],
             1 => ['name' => 'ExpenseName2',
                   'price' => 'ExpensePrice2'],
             2 => ['name' => 'ExpenseName3',
                   'price' => 'ExpensePrice3'],
             3 => ['name' => 'ExpenseName4',
                   'price' => 'ExpensePrice4'],
             4 => ['name' => 'ExpenseName5',
                   'price' => 'ExpensePrice5']];
$i = 0;
while($i < 5):?>

<tr id="<?= $i; ?>" >
    <td class="hidden-xs"><?= $expenses[$i]['name']; ?></td>
    <td class="hidden-xs"><?= $expenses[$i]['price']; ?> &euro;</td>
</tr>

<?php 
$i++;
endwhile; 
?>

这给了你:

<tr id="0" >
    <td class="hidden-xs">ExpenseName1</td>
    <td class="hidden-xs">ExpensePrice1 &euro;</td>
</tr>

<tr id="1" >
    <td class="hidden-xs">ExpenseName2</td>
    <td class="hidden-xs">ExpensePrice2 &euro;</td>
</tr>


<tr id="2" >
    <td class="hidden-xs">ExpenseName3</td>
    <td class="hidden-xs">ExpensePrice3 &euro;</td>
</tr>


<tr id="3" >
    <td class="hidden-xs">ExpenseName4</td>
    <td class="hidden-xs">ExpensePrice4 &euro;</td>
</tr>


<tr id="4" >
    <td class="hidden-xs">ExpenseName5</td>
    <td class="hidden-xs">ExpensePrice5 &euro;</td>
</tr>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-17
    • 1970-01-01
    • 2018-03-21
    • 1970-01-01
    • 2012-03-19
    相关资源
    最近更新 更多