0

嘿,我正在尝试在 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>
4

3 回答 3

4

你应该使用:

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

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

于 2014-03-28T08:33:23.693 回答
1

尝试这个:

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

<select name="land">
    <?php foreach ($status_de as $key => $value) {
      echo "<option value='" . $key . "'>" . $value . "</option>";
    }
    ?>
</select>
于 2014-03-28T08:36:53.043 回答
1

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

试试这样:

<select name="land">
    <?php foreach ($status_de as $k =>$v) {
      echo "<option value='" . $k . "'>" . $v . "</option>";
    }
    ?>
</select>
于 2014-03-28T08:37:08.457 回答