学生向けプログラミング入門

学生向けにプログラミングを解説。Java、C++、Ruby、PHP、データベース

PHPプログラミング入門その10 配列

<<前  [TOP]  次>>


PHPでは二通りの方法で配列生成ができます。
ひとつは記号を用いる方法です。

$変数[] = 値;



[ ]内のインデックスは、数値以外でも良いです。
特に指定がない場合は「0」から始まります。
またインデックスを指定しない場合のインデックスは、その前のインデックスに+1したものが自動的にふられます。


以下のPHPプログラムをメモ帳で作成して、「phpsample」フォルダに保存して下さい。


arraytest1.php 直

<p>配列のテスト</p>



<?php
	$data[] = "test1";
	$data[] = "test2";

	//配列の内容を表示
	print_r($data);
	print("<br>");

	$data[1] = "test3";

	//配列の内容を表示
	print_r($data);
	print("<br>");

	$data['1'] = "test2";

	//配列の内容を表示
	print_r($data);
	print("<br>");

	$data[] = "test4";

	//配列の内容を表示
	print_r($data);
	print("<br>");

	//print()で${data['0']のみ表示
	print("${data['0']}<br>");

	$data['test5']="test5";

	//配列の内容を表示
	print_r($data);
	print("<br>");
?>



print_r()は、配列の中身を表示させるのに用います。

$data[] = "test1";
$data[] = "test2";

このように[]の中に何も指定しない場合、[0]から[1][2]・・と順番に格納されていきます。

$data[1] = "test3";

$data['1'] = "test2";

このように[1]や['1']と順番を指定すると、[1]の配列のみが上書き格納されます。
記述方法はどちらでも良いです。

$data[] = "test4";

途中でまた[]の中に何も指定しない場合、空いている場所に格納されます。

print("${data['0']}<br>");

このようにすると、指定した場所のみを表示させることが出来ます。

$data['test5']="test5";

[ ]内のインデックスは、数値以外でも良いです。


Apacheを起動し、Webブラウザで「http://localhost/phpsample/arraytest1.php」にアクセスして実行結果を確認してください。





配列生成のもうひとつの方法はarray()を使うことです。

$変数 = array(値, 値, 値);



array()を使用した場合のインデックスも特に指定しなければ「0」から始まります。
インデックスを指定したければ配列演算子の「=>」を使用します。

$変数 = array(インデックス=>値, インデックス=>値, インデックス=>値);



以下のPHPプログラムをメモ帳で作成して、「phpsample」フォルダに保存して下さい。


arraytest2.php 直

<p>配列のテスト</p>

<?php
	$data1 = array(0, "1", 2, 3, "test", "テスト1");
	print_r($data1);
	print("<br>");

	$data2= array('test'=>"テスト2", 'index'=>"テスト3");
	print_r($data2);
	print("<br>");

	print("${data2['test']}<br>");
?>



Webブラウザで「http://localhost/phpsample/arraytest2.php」にアクセスして実行結果を確認してください。





PHPでは多次元配列の利用も可能です。


方法は3種類あります。

  1. array()の中にarray()を記述する方法

    $data1=array(array(0, 1), array(2,3));
    

  2. array()の中にarray()を記述し、さらに配列のインデックスを指定する方法

    $data2=array('a0'=>array('b0'=>0, 'b1'=>1), 'a1'=>array('b0'=>2, 'b1'=>3));
    

  3. []での多次元配列を記述する方法

    $data3[0][1]=1;
    $data3[0][2]=2;
    

以下のPHPプログラムをメモ帳で作成して、「phpsample」フォルダに保存して下さい。


arraytest3.php 直

<p>配列のテスト</p>

<?php
	$data1=array(array(0, 1), array(2,3));
	print_r($data1);
	print("<br>");

	// 配列のインデックスを指定します
	$data2=array('a0'=>array('b0'=>0, 'b1'=>1), 'a1'=>array('b0'=>2, 'b1'=>3));
	print_r($data2);
	print("<br>");

	// []での多次元配列
	$data3[0][1]=1;
	$data3[0][2]=2;
	print_r($data3);
?>



Webブラウザで「http://localhost/phpsample/arraytest3.php」にアクセスして実行結果を確認してください。





<<前  [TOP]  次>>