採点されません。匿名です。 間違えることは学習の一部です。読むだけでもかまいません。

配列を書き換える

テクノロジ系 / 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);