簡體   English   中英

在關聯數組中列出除一個以外的所有鍵

[英]List all keys except for one in associative array

這應該很簡單,但是我沒有得到預期的結果。 瀏覽器要么列出數組中的所有元素(當我包括“!”運算符時),要么不列出任何元素(當我不包括“!”運算符時)。 我只是試圖列出除一個元素之外的所有內容,或者僅列出該元素。 我無法以任何一種方式工作。

    $features = array(
    'winter' => 'Beautiful arrangements for any occasion.',
    'spring' => 'It must be spring! Delicate daffodils are here.',
    'summer' => "It's summer, and we're in the pink.",
    'autumn' => "Summer's over, but our flowers are still a riot of colors."
    );

    <h1>Labeling Array Elements</h1>
    <?php 
    foreach ($features as $feature) {
    if(array_key_exists('autumn', $features)) { 
    continue;
   } 
   echo "<p>$feature</p>";
   }    
   ?>

當您僅因為循環存在於數組中而在循環內執行continue ,它將在第一次迭代時停止。 總是如此。

相反,您需要執行以下操作:

foreach ($features as $season => $description) {
    if ($season == 'autumn') {
        continue;
    }
    echo $description;
}   

您也可以將array_filter用於此方法:

$features = array(
    'winter' => 'Beautiful arrangements for any occasion.',
    'autumn' => "Summer's over, but our flowers are still a riot of colors.",
    'spring' => 'It must be spring! Delicate daffodils are here.',
    'summer' => "It's summer, and we're in the pink.",
);

print_r(array_filter($features, function ($key) {
    return $key != 'autumn';
}, ARRAY_FILTER_USE_KEY));

現場演示: https : //3v4l.org/Ctn8O

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM