PHP

PHP 配列(array)の使い方

2015/05/09

「配列(array)」の使い方です。

変数の使い方」の記事で変数は「箱」みたいなものと表現しましたが、配列(array)は箱のなかにある区切りみたいなもので、その一つ一つに番号もしくは名前を付けることで、箱の中身を1つずつ取り出すことができます。番号は0から連番で自動的に振られ、名前は任意で付けることができます。

では、使い方を見ていきましょう。arrayの()の中に「,」で区切って値を入れます。

<?php
    $array = array(1,2,3);
?>

上記はこんなイメージです↓
array_img
番号0の区切りに1が入り、番号1の区切りに2が入り、番号2の区切りに3が入りました。番号が0から開始されることに注意して下さい。
[]を使うことで、中身を1つずついれることができます。
下記は前述と同じ意味になります。

<?php
    $array[] = 1;
    $array[] = 2;
    $array[] = 3;
?>

上記はなんだか上書きされそうに見えますが、空の[]を使うことで、「その配列の最大の番号に1を足した番号の区切り」に値を入れてくれます。(空の場合は0です)

中身を取り出す時は変数に[]を付けて、その中に取り出したい区切りの番号を書きます。
区切り番号0の中身「1」を表示させたい場合は下記にように書きます。

<?php
    $array = array(1,2,3);
    echo "区切り番号0の中身は".$array[0]."です";
?>

» 実行結果

また、配列の中身を1つだけ変更したいときには[]に区切りの番号を書いて上書きをすることができます。

<?php
    $array = array(1,2,3);

    // 実は2ではなく20だったので上書き
    $array[1] = 20;

    echo "区切り番号1の中身は".$array[1]."です";
?>

» 実行結果

あまり使う場面はないと思いますが、区切りの番号を0以外から開始することも出来ます。

<?php
    $array[100] = 1;
    $array[] = 2; // 区切り番号100に1を足した101の中身に2が入ります。

    echo "区切り番号100の中身は".$array[100]."です<br>";
    echo "区切り番号101の中身は".$array[101]."です";
?>

» 実行結果

ちなみに配列の区切りの番号や名前の事を「添え字」や「キー」と呼びます。
添え字に数値ではなく文字で名前を付ける「連想配列」についてはこちらの「連想配列の使い方」をご覧ください。

-PHP