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 )