PHP では、配列の追加、削除、変更、チェックなどの操作を実行する必要があることがよくあります。このうち削除操作は配列操作の中でもよく使われる操作で、実際の開発では特定の要素を削除する必要がある場面が多く出てきます。この記事ではキーに基づいて配列内の要素を削除する方法を中心に紹介します。
PHP には、配列内の指定された要素を削除するために使用できる関数 unset()
が用意されています。構文は次のとおりです。
unset($array[key]);
このうち、$array
は削除する要素の配列、key
は削除する要素のキー名です。削除されました。
サンプルコードは次のとおりです。
// 创建一个关联数组 $arr = array( 'name' => 'Tom', 'age' => 18, 'gender' => 'male' ); // 删除元素 age unset($arr['age']); // 输出结果 print_r($arr);
出力結果は次のとおりです。
Array ( [name] => Tom [gender] => male )
出力結果からわかるように、要素 age
は正常に削除されました。
unset()
関数の使用に加えて、PHP の別の組み込み関数 array_splice()# を使用することもできます。 ## 配列から要素を削除します。この関数は、配列内の 1 つ以上の連続した要素を削除し、削除された要素の配列を返すことができます。構文は次のとおりです。
array_splice($array, $offset, $length);このうち、
$array は削除する要素の配列、
$offset は削除する要素の開始位置です。削除されました。
$ length は削除される要素の数です。
// 创建一个索引数组 $arr = array(0, 1, 2, 3, 4, 5); // 删除索引为 2、3、4 的连续 3 个元素 $deleted = array_splice($arr, 2, 3); // 输出结果 print_r($arr); print_r($deleted);出力結果は次のとおりです。
Array ( [0] => 0 [1] => 1 [5] => 5 ) Array ( [0] => 2 [1] => 3 [2] => 4 )出力結果からわかるように、要素 2、3、4 が表示されます。は正常に削除され、
$deleted 変数に保存されました。
array_splice() 関数は元の配列の構造を変更するため、注意して使用する必要があることに注意してください。
array_diff_key() 関数を使用することです。 。この関数を使用すると、1 つ以上のキー名に対応する要素を簡単に削除できます。
// 创建一个关联数组 $arr = array( 'name' => 'Tom', 'age' => 18, 'gender' => 'male' ); // 要删除的键名数组 $keys = array('age', 'gender'); // 使用 array_diff_key 函数删除键名对应的元素 $result = array_diff_key($arr, array_flip($keys)); // 输出结果 print_r($result);出力結果は次のとおりです。
Array ( [name] => Tom )出力結果からわかるように、要素
age と
gender は正常に削除されました。
array_diff_key() 関数は差分配列を返します。元の配列は変更されないため、戻り結果は新しい配列に保存する必要があります。
unset() 関数や
array_splice( などのさまざまなメソッドを使用して配列内の要素を削除できます。 ) 関数は、最も一般的に使用される 2 つのメソッドです。さらに、
array_diff_key() 関数を使用することもより柔軟な方法であり、キー名に基づいて配列内の要素を削除できます。
以上がPHPでキーに基づいて配列を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。