Php 在foreach循环上为生成唯一ID?

Php 在foreach循环上为生成唯一ID?,php,foreach,Php,Foreach,当前我使用切换显示/隐藏详细信息。我需要在foreach循环中给每个div一个唯一的ID。我不知道如何使它在回音字符串上工作。你能帮我吗 <?php $i = 0; foreach ( $payment as $payment_id => $items ) { foreach ( $items as $item ) { $i++; $count = 0; // Echo, need to

当前我使用切换显示/隐藏详细信息。我需要在foreach循环中给每个div一个唯一的ID。我不知道如何使它在回音字符串上工作。你能帮我吗

<?php
$i = 0; 
    foreach ( $payment as $payment_id => $items ) {
        foreach ( $items as $item ) {
            $i++;
            $count = 0;
            // Echo, need to show unique ID in both $count, it must be the same
            echo '<p><strong><a href="#">Link</a></strong>
            <br/><a href="#" class="show_info" id="'.$count.'">Show Details</a>
            <div id="payment_info_'.$count.'" style="display:none;">';
            ++count;
        }
    }
?>

我需要使$count在代码相同的2个位置。我的代码出错了

非常感谢。 更新:
实际上,代码并不像我在这里给出的那样。我试过你的代码,但不起作用


您可以在(pasw:123123)查看全文。

首先:

移除此项或将其置于foreach循环之外:

$count = 0;
秒:

不要将数字仅用于id,并将其与以下字符或单词一起使用:

id = "element'.$count.'"
第三名:

什么是
$i

如果没用,就把它拿走

Forth

++count
更改为
++$count

代码:

<?php
$i = 0; 
$count = 0;
    foreach ( $payment as $payment_id => $items ) {
        foreach ( $items as $item ) {
            $i++;
            // Echo, need to show unique ID in both $count, it must be the same
            echo '<p><strong><a href="#">Link</a></strong>
            <br/><a href="#" class="show_info" id="info_'.$count.'">Show Details</a>
            <div id="payment_info_'.$count.'" style="display:none;">';
            ++$count;
        }
    }
?>

  • 您编写了
    ++count
    而不是
    ++$count
  • 您似乎没有使用
    $i
  • 您正在对每个循环初始化
    $count
    这应该是可行的:

    <?php
    $i = 0; /* Seems redundant */
    $count = 0;
        foreach ( $payment as $payment_id => $items ) {
            foreach ( $items as $item ) {
                $i++; /* Seems redundant */
                // Echo, need to show unique ID in both $count, it must be the same
                echo '<p><strong><a href="#">Link</a></strong>
                <br/><a href="#" class="show_info" 
                        id="dtls'.$count.'">Show Details</a>
                <div id="payment_info_'.$count.'" style="display:none;">';
                ++$count;
            }
        }
    ?>
    

    ++count错误,应该是+++$count

    试试这个

    <?php
    $i = 0; 
        foreach ( $payment as $payment_id => $items ) {
            foreach ( $items as $item ) {
                $i++;
                $count = 0;
                // Echo, need to show unique ID in both $count, it must be the same
                echo '<p><strong><a href="#">Link</a></strong>
                <br/><a href="#" class="show_info" id="'.$count.'">Show Details</a>
                <div id="payment_info_'.$count.'" style="display:none;">';
                ++$count;
            }
        }
    ?>
    
    
    
    错误说明了什么?移动“$count=0;”在循环外,在循环内,每次都将其设置为0。实际上,代码并不像我在这里给出的那样。我试过你的代码,但不起作用。您可以在(pasw:123123)查看完整的代码,实际上代码并不像我在这里给出的那样。我试过你的代码,但不起作用。您可以在(pasw:123123)查看完整的代码,实际上代码并不像我在这里给出的那样。我试过你的代码,但不起作用。你可以在(pasw:123123)@TKien:1浏览全文。您是否遇到了
    错误
    ,或者只是
    没有按预期工作
    ?如果是错误,请复制到这里。如果您的代码没有给出错误,只是不起作用,那么您应该将输出HTML复制到一个站点,这样我们就可以看到其中的问题。2.注意,在循环的最后一个
    if
    中,调用两个
    count()
    函数。这将在每次
    循环运行时重新计算,因此最好在循环之前计算它们,并将它们保存在两个
    变量上。它工作正常,但计数不是jumb,我看到所有ID都是1。喜欢这个图像吗