PHPアレイ関数~PHP TUTORIAL~: PHP入門 :

スポンサーリンク

プログラマになるのに遅いということはない!
天職を本気で考えている方向けのプログラミングスクールです。 転職を保証しているため、未経験からIT業界へ転職を求めている方へおすすめです! 学習終了から3ヶ月で転職できなかったら 全額返金制度あり!

----------------------------------------------------------------------------------------

3ヶ月10万円で受講できる転職特化型Ruby実践研修【ポテパンキャンプ】


配列

配列は、1つ以上の同様の型の値を単一の値に格納するデータ構造です。たとえば、100個の変数を定義する代わりに100個の数値を格納する場合は、100個の長さの配列を設定します

 $numbers[0] = "one"; $numbers[1] = "two"; $numbers[2] = "three"; $numbers[3] = "four"; $numbers[4] = "five";

3種類の配列があり、配列インデックスと呼ばれるID cを使用して各配列値にアクセスします。

  • 数値配列 – 数値インデックスを持つ配列です。値は線形に格納され、アクセスされます。
  • 連想配列 – 文字列をインデックスとする配列。これは、厳密な線形インデックスの順序ではなく、キー値に関連付けて要素値を格納します。
  • 多次元配列 – 複数のインデックスを使用して、1つ以上の配列と値を含む配列にアクセスする

数値配列

これらの配列は、数値、文字列および任意のオブジェクトを格納できますが、そのインデックスは数値で表されます。デフォルトでは配列インデックスは0から始まります。

以下は、数値配列を作成してアクセスする方法を示す例です。

ここではarray()関数を使って配列を作成しています。この関数については、関数リファレンスで説明します。

<html>
   <body>
   
      <?php
         /* 最初のアレイ. */
         $numbers = array( 1, 2, 3, 4, 5);
         
         foreach( $numbers as $value ) {  
/* foreachは繰り返しを表すつまり
1~5までプリントできる状態になるわけです。 */
            echo "Value is $value <br />";
         }
         
         /* 二回目のアレイ. */
         $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 

連想配列

連想配列は、機能的には数値配列と非常によく似ていますが、索引の点で異なります。

連想配列は、キーと値の間に強い関連性を確立できるように、インデックスを文字列として持ちます。

従業員の給与を配列に格納するには、数値的に配列された配列が最適な選択肢ではありません。代わりに、従業員の名前を連想配列のキーとして使用することができ、その値はそれぞれの給与になります。

 – 連想配列を二重引用符で囲んではいけません。

<html>
   <body>
      
      <?php
         /* さいしょの関数 */
         $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 />";
         
         /* つぎの関数 */
         $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

前のページ⑧PHPループ型

次のページ⑩PHP文字列

スポンサーリンク

プログラミングは独学からは挫折の可能性が高いです。まずは無料体験ができる
コードキャンプが本当におすすめ。無料体験でわからないところを聞きましょう。
転職補助つき。カリキュラム終了後に転職紹介をしてくれます。