📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

116行目: 116行目:
PHPでは、配列のサイズを変更する方法は複数存在する。<br>
PHPでは、配列のサイズを変更する方法は複数存在する。<br>
<br>
<br>
==== 要素の追加 ====
* 配列代入による方法<br>完全に新しい配列に置き換える場合は、配列代入を行う。
* 配列代入による方法<br>完全に新しい配列に置き換える場合は、配列代入を行う。
  <syntaxhighlight lang="php">
  <syntaxhighlight lang="php">
149行目: 150行目:
  </syntaxhighlight>
  </syntaxhighlight>
<br>
<br>
* array_unset関数で要素を削除する方法<br>これは、サイズを小さくするものである。<br><br>特定の要素を削除する場合は、array_unset関数を使用する。
* array_unshift関数を使用する方法<br>これは、配列の先頭に要素 (要素群) を追加するものである。
  <syntaxhighlight lang="php">
  <syntaxhighlight lang="php">
  $result = [72, 52, 96, 20];
  $result = [72, 52];
  unset($result[2]);  // 2番目の要素である96を削除
array_unshift($result, 96, 20);  // 先頭に96と20を追加
                                  // 追加後は、$result = [96, 20, 72, 52] となる
// または
array_unshift($result, [96, 20]); // 先頭に96と20を追加
                                  // 追加後は、$result = [96, 20, 72, 52] となる
  </syntaxhighlight>
<br>
* array_push関数を使用する方法<br>これは、配列の最後尾に要素 (要素群) を追加するものである。
<syntaxhighlight lang="php">
$result = [72, 52];
array_push($result, 96, 20);  // 最後尾に96と20を追加
                              // 追加後は、$result = [72, 52, 96, 20] となる
// または
array_push($result, [96, 20]);  // 最後尾に96と20を追加
                                // 追加後は、$result = [72, 52, 96, 20] となる
  </syntaxhighlight>
  </syntaxhighlight>
<br>
<br>
160行目: 179行目:
  array_splice($result, 2, 0, [96, 20]);  // 2番目の要素の位置に96と20を追加
  array_splice($result, 2, 0, [96, 20]);  // 2番目の要素の位置に96と20を追加
                                         // 追加後は、$result = [72, 52, 96, 20] となる
                                         // 追加後は、$result = [72, 52, 96, 20] となる
</syntaxhighlight>
<br>
==== 要素の削除 ====
* array_pop関数で要素を削除する方法<br>これは、末尾の要素を削除する。
<syntaxhighlight lang="php">
$result = [72, 52, 96, 20];
array_pop($result);  // 最後尾の要素である20を削除
</syntaxhighlight>
<br>
* array_shift関数で要素を削除する方法<br>これは、先頭の要素を削除する。
<syntaxhighlight lang="php">
$result = [72, 52, 96, 20];
array_shift($result);  // 先頭の要素である72を削除
</syntaxhighlight>
<br>
* unset関数で要素を削除する方法<br>これは、特定の要素を削除するものである。<br><br>unset関数で要素を削除しても、配列のインデックスは自動的には詰められない。<br>そのため、削除した後に配列のインデックスを振り直す場合は、array_values関数を使用する。
<syntaxhighlight lang="php">
$result = [72, 52, 96, 20];
unset($result[2]);  // 2番目の要素である96を削除
</syntaxhighlight>
<br>
* array_splice関数は要素の削除も可能である。<br>これは、第3引数 (length) に削除する要素数を指定することで実現できる。<br>この時、第4引数は指定しないこと。
<syntaxhighlight lang="php">
$array = [1, 2, 3, 4, 5];
// 先頭から1つ削除
array_splice($array, 0, 1);  // [2, 3, 4, 5]
// 末尾から1つ削除
array_splice($array, -1, 1);  // [1, 2, 3, 4]
// 1番目の要素から2つの要素を削除
array_splice($array, 1, 2);  // [1, 4, 5]
</syntaxhighlight>
<br>
==== 配列の再定義 ====
unset関数で要素を削除した場合、配列のインデックスは自動的には詰められない。<br>
そのため、削除した後に配列のインデックスを振り直す場合は、<code>array_values</code>関数を使用して、配列を再定義する。<br>
<syntaxhighlight lang="php">
// インデックスを振り直す
$fruits = ['apple', 'banana', 'orange'];
unset($fruits[1]);
$fruits = array_values($fruits);  // インデックスを振り直す
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br><br>