📢 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_unshift関数を使用する方法<br>これは、配列の先頭に要素 (要素群) を追加するものである。 | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
$result = [72, 52, 96, 20]; | $result = [72, 52]; | ||
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> | ||