PHP-配列
配列は、1つ以上の類似したタイプの値を単一の値に格納するデータ構造です。たとえば、100個の数値を格納する場合、100個の変数を定義する代わりに、100個の長さの配列を簡単に定義できます。
配列には3種類あり、各配列値には、配列インデックスと呼ばれるIDcを使用してアクセスします。
Numeric array−数値インデックスを持つ配列。値は線形に保存およびアクセスされます。
Associative array−文字列をインデックスとして持つ配列。これは、厳密な線形インデックス順序ではなく、キー値に関連付けられた要素値を格納します。
Multidimensional array − 1つ以上の配列と値を含む配列は、複数のインデックスを使用してアクセスされます
NOTE−組み込みの配列関数は、関数リファレンスPHP配列関数に記載されています。
数値配列
これらの配列には、数値、文字列、および任意のオブジェクトを格納できますが、それらのインデックスは数値で表されます。デフォルトでは、配列インデックスはゼロから始まります。
例
以下は、数値配列を作成してアクセスする方法を示す例です。
ここで使用しました array()配列を作成する関数。この関数は、関数リファレンスで説明されています。
<html>
<body>
<?php
/* First method to create array. */
$numbers = array( 1, 2, 3, 4, 5);
foreach( $numbers as $value ) {
echo "Value is $value <br />";
}
/* Second method to create array. */
$numbers[0] = "one";
$numbers[1] = "two";
$numbers[2] = "three";
$numbers[3] = "four";
$numbers[4] = "five";
foreach( $numbers as $value ) {
echo "Value is $value <br />";
}
?>
</body>
</html>
これにより、次の結果が生成されます-
Value is 1
Value is 2
Value is 3
Value is 4
Value is 5
Value is one
Value is two
Value is three
Value is four
Value is five
連想配列
連想配列は、機能の点では数値配列に非常に似ていますが、インデックスの点では異なります。連想配列には、キーと値の間に強力な関連付けを確立できるように、インデックスが文字列として含まれます。
従業員の給与を配列に格納するには、数値で索引付けされた配列は最良の選択ではありません。代わりに、連想配列のキーとして従業員名を使用でき、値はそれぞれの給与になります。
NOTE −印刷中は連想配列を二重引用符で囲んではいけません。そうしないと、値が返されません。
例
<html>
<body>
<?php
/* First method to associate create array. */
$salaries = array("mohammad" => 2000, "qadir" => 1000, "zara" => 500);
echo "Salary of mohammad is ". $salaries['mohammad'] . "<br />";
echo "Salary of qadir is ". $salaries['qadir']. "<br />";
echo "Salary of zara is ". $salaries['zara']. "<br />";
/* Second method to create array. */
$salaries['mohammad'] = "high";
$salaries['qadir'] = "medium";
$salaries['zara'] = "low";
echo "Salary of mohammad is ". $salaries['mohammad'] . "<br />";
echo "Salary of qadir is ". $salaries['qadir']. "<br />";
echo "Salary of zara is ". $salaries['zara']. "<br />";
?>
</body>
</html>
これにより、次の結果が生成されます-
Salary of mohammad is 2000
Salary of qadir is 1000
Salary of zara is 500
Salary of mohammad is high
Salary of qadir is medium
Salary of zara is low
多次元配列
メイン配列の各要素が配列になることもできる多次元配列。また、サブ配列の各要素は配列にすることができます。多次元配列の値は、複数のインデックスを使用してアクセスされます。
例
この例では、3つの科目の3人の学生のマークを格納するために2次元配列を作成します-
この例は連想配列です。同じ方法で数値配列を作成できます。
<html>
<body>
<?php
$marks = array(
"mohammad" => array (
"physics" => 35,
"maths" => 30,
"chemistry" => 39
),
"qadir" => array (
"physics" => 30,
"maths" => 32,
"chemistry" => 29
),
"zara" => array (
"physics" => 31,
"maths" => 22,
"chemistry" => 39
)
);
/* Accessing multi-dimensional array values */
echo "Marks for mohammad in physics : " ;
echo $marks['mohammad']['physics'] . "<br />";
echo "Marks for qadir in maths : ";
echo $marks['qadir']['maths'] . "<br />";
echo "Marks for zara in chemistry : " ;
echo $marks['zara']['chemistry'] . "<br />";
?>
</body>
</html>
これにより、次の結果が生成されます-
Marks for mohammad in physics : 35
Marks for qadir in maths : 32
Marks for zara in chemistry : 39