没有数组键

时间:2014-03-28 08:32:06

标签: php foreach array-key

嘿,我试图在一个foreach中获取我的数组的密钥。 但得到了这个错误 警告:array_keys()期望参数1是数组,第10行给出的字符串

这是我的数组:

$status_de = array
(
    '1' => 'Anfrage',
    '2' => 'Angebot',
    '3' => 'Abgeschlossen'  
);

这是我的代码:

<select name="land">
    <?php foreach ($status_de as $status) {
      echo "<option value='" . array_keys($status) . "'>" . $status . "</option>";
    }
    ?>
</select>

3 个答案:

答案 0 :(得分:4)

您应该使用:

<?php foreach ($status_de as $key=>$status) {
  echo "<option value='" . $key . "'>" . $status . "</option>";
}
?>

因为array_keys()将返回包含所有键的数组(因此不适用于字符串运算符)

答案 1 :(得分:1)

试试这个:

foreach循环将获得键和值对,因此您可以直接使用它。不需要任何功能来获得这些功能。

<select name="land">
    <?php foreach ($status_de as $key => $value) {
      echo "<option value='" . $key . "'>" . $value . "</option>";
    }
    ?>
</select>

答案 2 :(得分:1)

你不能这样做,因为array_keys期望一个数组。在你的场景中,你给一个字符串。

尝试这样:

<select name="land">
    <?php foreach ($status_de as $k =>$v) {
      echo "<option value='" . $k . "'>" . $v . "</option>";
    }
    ?>
</select>