前级循环中的两个数组

前级循环中的两个数组

我想生成一个selectbox使用两个数组,一个数组包含国家代码,另一个数组包含国家名称。

这就是一个例子:

<?php
    $codes = array('tn','us','fr');
    $names = array('Tunisia','United States','France');

    foreach( $codes as $code and $names as $name ) {
        echo '<option value="' . $code . '">' . $name . '</option>';
    }?>

这种方法对我没用。有什么建议吗?


慕神8447489
浏览 371回答 3
3回答

慕村9548890

foreach(&nbsp;$codes&nbsp;as&nbsp;$code&nbsp;and&nbsp;$names&nbsp;as&nbsp;$name&nbsp;)&nbsp;{&nbsp;}这是无效的。你可能想要这样的东西.。foreach(&nbsp;$codes&nbsp;as&nbsp;$index&nbsp;=>&nbsp;$code&nbsp;)&nbsp;{ &nbsp;&nbsp;&nbsp;echo&nbsp;'<option&nbsp;value="'&nbsp;.&nbsp;$code&nbsp;.&nbsp;'">'&nbsp;.&nbsp;$names[$index]&nbsp;.&nbsp;'</option>';}或者,让代码成为您的密钥要容易得多。$names阵列.。$names&nbsp;=&nbsp;array( &nbsp;&nbsp;&nbsp;'tn'&nbsp;=>&nbsp;'Tunisia', &nbsp;&nbsp;&nbsp;'us'&nbsp;=>&nbsp;'United&nbsp;States', &nbsp;&nbsp;&nbsp;...);

慕森王

foreach一次只能在一个数组上操作。数组的结构方式,您可以array_combine()然后,将它们放入键值对数组中。foreach这个单一的数组:foreach&nbsp;(array_combine($codes,&nbsp;$names)&nbsp;as&nbsp;$code&nbsp;=>&nbsp;$name)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;'<option&nbsp;value="'&nbsp;.&nbsp;$code&nbsp;.&nbsp;'">'&nbsp;.&nbsp;$name&nbsp;.&nbsp;'</option>';}或者,如其他答案所示,您可以对关联数组进行硬编码。

富国沪深

使用array_combine()将数组融合在一起并对结果进行迭代。$countries&nbsp;=&nbsp;array_combine($codes,&nbsp;$names);
打开App,查看更多内容
随时随地看视频慕课网APP