[PHP]foreachで連想配列のキーを条件で検索するには?

PHP

どうも、ちょげ(@chogetarou)です。

foreachを使って連想配列のキーを条件で検索する方法を紹介します。

スポンサーリンク

方法

foreachを使って連想配列のキー(key)を条件で検索するには、if文を使います。

まず、連想配列をforeachでループします。

foreachのループで、if文で条件分岐します。

if文に条件に、キーの条件式を指定します。

そして、if文のブロックに、条件に合致したキーに対する処理を指定します。

//$arr=対象の連想配列
foreach($arr as $key => $value) {
    //変数「$key」でキーを取得
    if (condition) {
        //条件に合致するキーに対する処理
    }
}

上記のforeachは、if文の条件で連想配列のキー(key)を検索できます。

使用例

<?php
$numbers = ['one' => 1, 'two' => 2, 'three' => 3, 'four' => 4, 'five' => 5];

$result = [];

//文字数が4のキーを検索
foreach($numbers as $key => $value) {
    if (strlen($key) === 4) {
        array_push($result, $key);
    }
}

print_r($result);
?>
出力:
Array
(
    [0] => four
    [1] => five
)

コメント

タイトルとURLをコピーしました