配列を書き換える
テクノロジ系 / array-basic (添字配列・配列関数・explode/implode)
配列を書き換える
Lesson 4 / Chapter 3
既存の要素を書き換える
<?php $nums = [10, 20, 30]; $nums[1] = 99; print_r($nums);
実行結果:
Array
(
[0] => 10
[1] => 99
[2] => 30
)$arr[添字] = 値;で その位置の値を書き換える- 元の値は失われる
末尾に追加する $arr[] = X
<?php $nums = [10, 20, 30]; $nums[] = 40; $nums[] = 50; print_r($nums);
実行結果:
Array
(
[0] => 10
[1] => 20
[2] => 30
[3] => 40
[4] => 50
)$arr[] = 値;は 空の添字で代入 = 末尾追加- 添字は自動的に割り当てられる
空の配列から組み立てる
<?php $nums = []; $nums[] = 1; $nums[] = 2; $nums[] = 3; print_r($nums);
$nums = [];で空の配列を作る- そこから 1 個ずつ
$nums[] = ...で追加していく - ループと組み合わせるときの基本パターン
ループで配列を組み立てる
<?php
$squares = [];
for ($i = 1; $i <= 5; $i++) {
$squares[] = $i * $i;
}
print_r($squares);実行結果:
Array
(
[0] => 1
[1] => 4
[2] => 9
[3] => 16
[4] => 25
)- 計算結果を 1 つずつ末尾に追加していく定番の形
このチャプターでできるようになること
✅ $arr[i] = X で既存の要素を書き換えられる
✅ $arr[] = X で末尾に追加できる
✅ 空の配列 [] から始めて要素を組み立てられる
✅ for ループで配列を作れる
→ ドリルへ
考えてみよう
既定では正解・不正解の判定はしません。自分のペースで「答えを見る」を。採点してほしい場合だけ「採点してほしい」を押してください。
ドリル 01 — 要素を書き換える
問題
配列 [10, 20, 30] の添字 1 の値を 99 に書き換え、print_r で中身を表示してください。
期待される出力:
Array
(
[0] => 10
[1] => 99
[2] => 30
)採点
php scripts/grade.php topics/array-basic/ch03-modify-array/drill/01-overwrite/
ヒント
$nums = [10, 20, 30];$nums[1] = 99;print_r($nums);
ドリル 02 — 末尾に追加
問題
配列 [10, 20, 30] に対して、$arr[] = 40; と $arr[] = 50; で末尾に 2 つ追加し、print_r で中身を表示してください。
期待される出力:
Array
(
[0] => 10
[1] => 20
[2] => 30
[3] => 40
[4] => 50
)採点
php scripts/grade.php topics/array-basic/ch03-modify-array/drill/02-append/
ヒント
$nums = [10, 20, 30];$nums[] = 40;$nums[] = 50;print_r($nums);
ドリル 03 — for ループで組み立てる
問題
空の配列から始めて、for ループで 1 から 5 までの値を順に末尾追加し、print_r で中身を表示してください。
期待される出力:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)採点
php scripts/grade.php topics/array-basic/ch03-modify-array/drill/03-build-array/
ヒント
$nums = [];for ($i = 1; $i <= 5; $i++) { $nums[] = $i; }print_r($nums);