【问题标题】:Auto increment through a php loop通过 php 循环自动递增
【发布时间】:2018-09-30 00:34:18
【问题描述】:

我有一个案例,我使用下面的代码来填充各种模板。在模板的 javascript 中,我会单独检查我设置的数据属性字段,这实际上导致我拥有多个 JS 文件,而不是共享的一个。然后我想我也可以使用通用名称字段,但在循环中添加一个数字。

例如,使用下面的代码行,其中 `name="testField"。我想看看是否有一种方法可以添加一个数字,但通过 php 循环自动增加它。

这可能吗?

echo '<div class="markerItem" name="testField' . $number . '" "data-marker="' . $marker_data . '">';

PHP 代码

if ($marker_stmt = $con->prepare($sql_marker)) {
    $marker_stmt->execute();
    $marker_rows = $marker_stmt->fetchAll(PDO::FETCH_ASSOC);
    echo '<div id="projMarker">';
    foreach ($marker_rows as $marker_row) {
        $marker_solution = $marker_row['solution'];
        $maker_item = $marker_row['subSolution'];
        $marker_data = $marker_row['subSolution'];
        echo '<div class="markerItem" data-marker="' . $marker_data . '">';
            echo $marker_item;
            echo '</div>';
    }
}
echo '</div>';

【问题讨论】:

  • $number = 0; $number++;
  • foreach ($marker_rows as $number =&gt; $marker_row) {

标签: php pdo foreach


【解决方案1】:
if ($marker_stmt = $con->prepare($sql_marker)) {
    $marker_stmt->execute();
    $marker_rows = $marker_stmt->fetchAll(PDO::FETCH_ASSOC);
    echo '<div id="projMarker">';
    foreach ($marker_rows as $key=>$marker_row) {
        $marker_solution = $marker_row['solution'];
        $maker_item = $marker_row['subSolution'];
        $marker_data = $marker_row['subSolution'];
        echo '<div class="markerItem" name="testField_'.$key.'" data-marker="' . $marker_data . '">';
            echo $marker_item;
            echo '</div>';
    }
}
echo '</div>';

使用它,$key 是从数组索引分配的,该索引将是一个从 0 开始到 count($marker_rows)-1 结束的数字。

【讨论】:

    【解决方案2】:

    令人惊讶的是,我找不到合适的副本。

    您可以在 PHP 中轻松地increment or decrement 变量。

    $number = 0;
    foreach ($marker_rows as $marker_row) {
         ...
         $number++; // $number will now be $number+1
    }
    

    您可以直接在属性中使用 $number++(如果连接),因为这将返回当前的 $number 然后递增值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-02-10
      • 2016-06-05
      • 2013-09-21
      • 2022-01-20
      • 2013-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多