PHP/配列
PHPにおける 配列(はいれつ,英: array )とは、ひとつの名前で、複数のデータを保持できるものです。
概要[編集]
たとえば、
$seitomei[0] = "ミシマ ユキオ" ; $seitomei[1] = "オオエ ケンザブロー" ; $seitomei[2] = "イシハラ シンタロー" ;
のようなものです。この例の場合、配列名「seitomei」で、「ミシマ ユキオ」「オオエ ケンザブロー」「イシハラ シンタロー」という別々のデータを保持しています。
PHPにかぎらず配列の番号は、普通、0番から数えます。また、PHPにかぎらず、配列の番号は、正の整数(いわゆる自然数)でなければなりません。
なお、上記サンプルでは説明の簡単化のた、文字列を代入していますが、配列には数値や変数なども代入することができます。
PHPの配列の書式は、
$配列名[番号]
です。
説明の簡単化のため「番号」といいましたが、「インデックス」という場合や、「添字」(そえじ、「添え字」とも書く場合もアリ)という場合もあります。
PHPでは、
$配列名[番号] = データ;
の書式を使えば、配列にデータをいきなり代入できます。(C言語とは違って、あらかじめ配列の要素の数を宣言する必要は無い。)
- コード例
<html>
<head>
<title>配列サンプル</title>
</head>
<body>
<?php
$seitomei[0] = "ミシマ ユキオ" ;
$seitomei[1] = "オオエ ケンザブロー" ;
$seitomei[2] = "イシハラ シンタロー " ;
print $seitomei[1] ."<br />" ;
print_r ($seitomei);
print "<br />" ;
?>
</body>
</html>
(※ 2020年5月13日に Fedora32 およびブラウザ Firefox で動作を確認ずみ。以降のコードも特に断らないかぎり同様。)
実行結果
オオエ ケンザブロー Array ( [0] => ミシマ ユキオ [1] => オオエ ケンザブロー [2] => イシハラ シンタロー )
あるいは、別の実行結果として、PHPの設定やバージョンによっては改行されて、
オオエ ケンザブロー Array ( [0] => ミシマ ユキオ [1] => オオエ ケンザブロー [2] => イシハラ シンタロー )
となる場合もあります。
なお、 print_r
関数で、上記の例のArray以降のように、配列の中身を一覧表示できます。
phpでは、組み込み関数 count で、その配列の要素の個数を数えることができます。
- コード例
<html>
<head>
<title>配列サンプル</title>
</head>
<body>
<?php
$seitomei[0] = "ミシマ ユキオ" ;
$seitomei[1] = "オオエ ケンザブロー" ;
$seitomei[2] = "イシハラ シンタロー " ;
print (count($seitomei) );
print "<br />" ;
?>
</body>
</html>
- 実行結果
3
この「3」という数字の意味は、$seitomei[0] と $seitomei[1] と $seitomei[2] というように配列 seitomei が合計3つ宣言されているので「3」という意味です。
配列のいろいろな宣言のしかた[編集]
PHPでは下記のように array 演算子を使って、一括で要素を配列に代入することもできます。
書式
$配列名 = array(データ1, データ2, … );
- コード例
<html>
<head>
<title>配列サンプル</title>
</head>
<body>
<?php
$seitomei = array("ナツメ ソーセキ","ダザイ オサム","モリ オーガイ", "カワバタ ヤスナリ") ;
print_r ($seitomei);
print "<br />" ;
?>
</body>
</html>
- 実行結果
Array ( [0] => ナツメ ソーセキ [1] => ダザイ オサム [2] => モリ オーガイ [3] => カワバタ ヤスナリ )
豆知識[編集]
PHPの場合、配列に番号を書かなくても、勝手に判断してくれる。
- コード例
<html>
<head>
<title>配列サンプル</title>
</head>
<body>
<?php
$seitomei[] = "ミシマ2世" ;
$seitomei[] = "オオエ2世" ;
$seitomei[] = "イシハラ2世 " ;
print $seitomei[1] ."<br />" ;
?>
</body>
</html>
- 実行結果
オオエ2世
多次元配列[編集]
PHPにかぎらず、配列の要素のなかに配列が入っている配列のことを「多次元配列」(たじげん はいれつ)といいます。C言語にも、多次元配列はあります。その他、一般的なプログラミング言語のほとんどは、多次元配列の機能をサポートしています。
一般に、
- 配列が二重になっているなら「二次元配列」、
- 配列が三重になっているなら「三次元配列」、
といいます。
- コード例
<html>
<head>
<title>配列サンプル</title>
</head>
<body>
<?php
$seitomei = array(
array("ミシマ", "オオエ", "イシハラ" ),
array("ナツメ2", "ダザイ2", "モリ2", "カワバタ2")
);
print $seitomei[1][2] ."<br />" ;
//print_r ($seitomei);
//print "<br />" ;
?>
</body>
</html>
- 実行結果
モリ2
- ※ 配列は0番から数えることに注意。よくあるミスで、多次元になるとついウッカリ、1から数えてしまうミスもある。
連想配列[編集]
この節は書きかけです。この節を編集してくれる方を心からお待ちしています。