2014-03-28 99 views
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

你应该使用方法:

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

array_keys()将返回包含阵列所有键(所以不适用用绳子运营商使用)

+0

完美的作品对我很好:) – user1551496

1

试试这个:

foreach循环将获得钥匙和值对,所以你可以直接使用它。不需要任何功能来获得这些。

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

PL接受的答案,那么别人会得到帮助。谢谢 :) –

1

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

尝试这样的:

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