2014-03-28 96 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>