PHPの配列から要素を削除する方法

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) "まつもとゆきひろ"
}

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください