PHPでforeachループの配列要素を削除する

PHPでforeachループの配列要素を削除してみます。

■環境

・Windows10

・WampServer Version 3.2.3 64bit

・PHP Version 7.3.21

■foreachループの配列要素を削除する

foreachループの配列要素を削除する際は、今回はunset()関数を使用して配列の要素を削除します。

■コード

<?php

$name = array(
    "Black",
    "White",
    "Yellow",
    "Glay",
    "Pink"
);

print_r('<pre>');
print_r($name);
print_r('</pre>');

foreach($name as $k => $val){
    if($val == "Glay"){
        unset($name[$k]);
    }
}
print_r('<pre>');
print_r($name);
print_r('</pre>');
?>

今回は、nameという配列を用意します。配列の要素には、5つの文字列を格納します。

格納後、foreach構文を使用し、nameという配列の要素を、kという変数に代入します。代入後、さらにnameという配列の中の要素がkという変数が、valという変数に代入されます。

代入後、if文でvalという変数内の文字列が、「Glay」という文字列だった場合に、unset()関数を使用し配列要素を削除します。括弧内には、nameという配列と、kという変数を指定します。

最後に、削除した後のnameという配列をprint_r()関数で出力してみます。

■実行

では、このスクリプトを「hello.php」という名前で保存し、実行させてみます。

実行してみると、nameという配列内で、指定した要素が削除されて配列が出力できることを確認できました。

コメント

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