PHPの配列から要素を削除する方法
■要素を1つだけ削除する
要素を1つだけ削除するには、unsetを使う方法が簡単で効率的です。
#配列から要素を削除する
unset(配列から削除する要素)
例
$myarray = array(
'C++' => 'ビャーネ・ストロヴストルップ',
'Perl' => 'ラリー・ウォール',
'Python' => 'グイド・ヴァンロッサム',
'Ruby' => 'まつもとゆきひろ');
#キーがRubyの要素を削除する
unset($myarray['Ruby']);
実行結果
array(3) {
["C++"]=>
string(42) "ビャーネ・ストロヴストルップ"
["Perl"]=>
string(24) "ラリー・ウォール"
["Python"]=>
string(33) "グイド・ヴァンロッサム"
}
キーが’Ruby’の要素が削除されています。
■要素を複数削除する
複数の要素を削除する時は、array_spliceを使用します。
#インデックスの位置以降の要素をすべて削除する
array_splice(配列, インデックスの位置)
例
$myarray = array(
'C++' => 'ビャーネ・ストロヴストルップ',
'Perl' => 'ラリー・ウォール',
'Python' => 'グイド・ヴァンロッサム',
'Ruby' => 'まつもとゆきひろ');
#2番目以降の要素をすべて削除する
array_splice($myarray, 2);
実行結果
array(2) {
["C++"]=>
string(42) "ビャーネ・ストロヴストルップ"
["Perl"]=>
string(24) "ラリー・ウォール"
}
第3引数を指定すると、削除する要素の個数を指定できます。
#インデックスの位置以降の要素を指定個数削除する
array_splice(配列, インデックスの位置, 削除する要素の数)
例
$myarray = array(
'C++' => 'ビャーネ・ストロヴストルップ',
'Perl' => 'ラリー・ウォール',
'Python' => 'グイド・ヴァンロッサム',
'Ruby' => 'まつもとゆきひろ');
#1番目以降の要素を2個削除する
array_splice($myarray, 1, 2);
実行結果
array(2) {
["C++"]=>
string(42) "ビャーネ・ストロヴストルップ"
["Ruby"]=>
string(24) "まつもとゆきひろ"
}