問題の背景: 配列は通常、キーと値のストレージに保存されます。場合によっては、指定されたキーと対応する値を削除する必要があります。しかし、なぜだかわかりませんが、値を知ることと値を削除することについて多くの投稿が話題になっており、私は誤解されそうになりました。
ここで、私が書いたコードの完全版を添付します:
function array_remove($data, $key){ if(!array_key_exists($key, $data)){ return $data; } $keys = array_keys($data); $index = array_search($key, $keys); if($index !== FALSE){ array_splice($data, $index, 1); } return $data; } $data = array('name'=>'apple','age'=>12,'address'=>'ChinaGuangZhou'); $result = array_remove($data, 'name'); var_dump($result);
1. 実際、問題は、値に従って検索し、If の位置を取得する関数にあります。見つからない場合は、NULL または false を返します。したがって、キーに対応する場所をキーで検索する場合は、$keys で見つける必要があります。これが、array_keys
を呼び出す理由です。 3、array_search 関数は NULL と false を返す可能性があるため、絶対に比較して使用する必要があります。 ==
参考:
php公式ドキュメント:http://www.php100.com/cover/php/189.html
PHP CodeIgniterコミュニティグループへの参加へようこそ:460132647備考:yanzi
上記は、Array 配列内の指定されたキーを削除する PHP を紹介しています (フルバージョン、関数にカプセル化され、テストコードが添付されています)。関連する内容も含めて、PHP チュートリアルに興味のある友人に役立つことを願っています。