PHP 显示数组键高 1 个数字

标签 php mysql

我想在我的页面上显示一个数组的所有键。

现在我有这个:

$subjectcodes[1] = "Mathematics";
$subjectcodes[2] = "Physics";
$subjectcodes[3] = "Charlie";
$subjectcodes[4] = "Chemistry";
$subjectcodes[5] = "Biology";
$subjectcodes[6] = "English";
$subjectcodes[7] = "Dutch";
$subjectcodes[8] = "German";
$subjectcodes[9] = "Sociology";
$subjectcodes[10] = "Physical Education";
$subjectcodes[11] = "Art";
$subjectcodes[12] = "General Science";
$subjectcodes[13] = "Philosophy";
$subjectcodes[14] = "Management and Organization";
$subjectcodes[15] = "Research and Design";

foreach ($subjectcodes as &$value) {
        $key = key($subjectcodes);
        echo "<option value=" . $key . ">" . $value . "</option>";
}

当我使用该代码访问我的页面时,我得到:

<option value=2>Mathematics</option>
<option value=3>Physics</option>
<option value=4>Charlie</option>
<option value=5>Chemistry</option>
<option value=6>Biology</option>
<option value=7>English</option>
<option value=8>Dutch</option>
<option value=9>German</option>
<option value=10>Sociology</option>
<option value=11>Physical Education</option>
<option value=12>Art</option>
<option value=13>General Science</option>
<option value=14>Philosophy</option>
<option value=15>Management and Organization</option>
<option value=>Research and Design</option></select>

如您所见,所有键的数字都比预期的大 1。最后一个选项甚至没有 key ...

谁知道这是为什么,我该如何解决?

谢谢!

最佳答案

尝试:

foreach ($subjectcodes as $key=>$value) {
    //$key = key($subjectcodes);
    echo "<option value=" . $key . ">" . $value . "</option>";
}

关于PHP 显示数组键高 1 个数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18507475/

相关文章:

mysql - MySQL 中的自修补主键,我可以做到,但是我该如何处理 id=1 的情况

mysql - 选择该期间内首次付款的付款金额

php - 不同的用户类型对 mysql 的访问权限不同

MYSQL根据时间戳仅显示同一ID中的一行

javascript - 很难让 JavaScript XMLHttpRequest 执行任何操作,停止刷新页面

php - 列出所有 PHP 变量

php - 在 laravel 5.3 的一页中注册和登录表单

php - CodeIgniter:如何从 URL 中删除消息?

php - PHP如何控制MySQL连接数过高

php - 上传后调整图像大小!