Php 对foreach的奇怪反应

Php 对foreach的奇怪反应,php,foreach,concatenation,Php,Foreach,Concatenation,我试图将值连接到一个字符串中,该字符串稍后将附加到一个隐藏的输入 这是forach循环: <?php $langid = array(); $transLang = ''; foreach($translator['langs'] as $lang) { $curlang = $lang->term_id; $langid[] = $curlang; $transLang .= '

我试图将值连接到一个字符串中,该字符串稍后将附加到一个隐藏的输入

这是forach循环:

<?php
    $langid     = array();
    $transLang      = '';
    foreach($translator['langs'] as $lang) {

        $curlang    = $lang->term_id;
        $langid[]   = $curlang;
        $transLang  .= '('.$curlang.'), ';

        // for testing
        echo $transLang."<br />";
    }
?>
<input type="hidden" name="selectedLang" value="<?php echo $transLang; ?>" />
最后一个是foreach完成运行后的完整字符串,但输入字段值始终只是第一次运行的意思(3)


知道为什么会发生这种情况吗?

我试着运行一个虚拟测试。这是我的密码

<?php

    $a = "";
    $loop = array("1","2","3","4","5","6","7","8","9");
    foreach($loop as $i){
        $a .= "($i),";
    }


?>
<input type="hidden" name="selectedLang" value="<?php echo $a; ?>" />
这两种方法我都在我的虚拟值上测试过,对我来说都很好。
首先尝试使用第二种方法

可以使用数组内爆:

感谢您的快速响应。。。我知道它(我的方法)应该有效,但它不。。。为什么要将$strings包装在end()中?这不应该只是重复最后一个值吗?回显数组的问题是为什么我没有对输入中的值使用数组。我需要一根绳子无论如何,正如我所认为的那样,我的每一份工作都有而且不应该有任何用处。这是一个奇怪的问题。
end()
将获取最后一个索引数据,并将输出为stringthank.tarkin。。。我知道。虽然我对foreach有些遗漏/不了解,但我想这只是一个棘手的问题。谢谢你的帮助。
(3),
(3), (10),
(3), (10), (12),
(3), (10), (12), (27),
(3), (10), (12), (27), (19),
(3), (10), (12), (27), (19), (20),
<?php

    $a = "";
    $loop = array("1","2","3","4","5","6","7","8","9");
    foreach($loop as $i){
        $a .= "($i),";
    }


?>
<input type="hidden" name="selectedLang" value="<?php echo $a; ?>" />
<input type="hidden" name="selectedLang" value="(1),(2),(3),(4),(5),(6),(7),(8),(9),">
<?php
    $langid     = array();
    $strings    = array();
    $transLang      = '';
    foreach($translator['langs'] as $lang) {

        $curlang    = $lang->term_id;
        $langid[]   = $curlang;
        $transLang  .= '('.$curlang.'), ';
        $strings[] = $transLang;
        // for testing
        //echo $transLang."<br />";
    }
?>
<input type="hidden" name="selectedLang" value="<?php echo end($strings); ?>" />