PHP array_search()で連想配列の特定の値を削除するサンプル

環境
PHP 8.1.2
Ubuntu 22.04.1 LTS

構文

if (($key = array_search(削除する値, $対象の配列)) !== false) {
unset($arr[$key]);
}
array_search()を使って連想配列(associative array)の特定の値を削除するには、unset()を使います。
引数1は削除したい値を指定し、第2引数に対象の連想配列を指定します。

使用例

<?php


$ns = [
    "k1" => 21,
    "k2" => 32,
    "k3" => 43,
    "k4" => 54,
    "k5" => 65,
];

print ("before\n");

print_r($ns);

if (($key = array_search(2, $ns)) !== false) {
    unset($ns[$key]);
}

print("after\n");

print_r($ns);

?>

実行結果

before
Array
(
    [k1] => 21
    [k2] => 32
    [k3] => 43
    [k4] => 54
    [k5] => 65
)
after
Array
(
    [k1] => 21
    [k2] => 32
    [k3] => 43
    [k4] => 54
    [k5] => 65
)

 

PHP

Posted by arkgame