PHP 関数リファレンス 配列操作系1

この記事は2014年9月26日に書かれたものです。内容が古い可能性がありますのでご注意ください。


PHP

関数リファレンス

今回は配列操作系の関数につい記述したいと思います。

array

array関数は配列を生成したり、配列に値を格納する際に使用します。

書式

配列を生成

$配列変数名 = array();

配列に生成時に値を格納する

$配列変数名 = array(‘値1’, ‘値2’, ‘値3’);

配列生成時にキーを指定して値を格納する

$配列変数名 = array(‘キー名1’ => ‘値1’, ‘キー名2’ => ‘値2’, ‘キー名3’ => ‘値3’);

配列に生成時に2次元配列で値を格納する

$配列変数名 = array(‘キー名1’ => array(‘キー名1-1’ => ‘値1-1’, ‘キー名1-2’ => ‘値1-2’, ‘キー名1-3’ => ‘値1-3’),
‘キー名2’ => array(‘キー名2-1’ => ‘値2-1’, ‘キー名2-2’ => ‘値2-2’, ‘キー名2-3’ => ‘値2-3’),
‘キー名3’ => array(‘キー名3-1’ => ‘値3-1’, ‘キー名3-2’ => ‘値3-2’, ‘キー名3-3’ => ‘値3-3’),
);

引数

引数には配列に格納したい値(要素)や、その値のキー名を指定できます。

キー名は省略可能で、省略した場合には、0, 1, 2 ・・・ と格納した順番に番号が付けられます。

キー名を省略する場合は
array('値1', '値2', '値3',・・・)
のように , (カンマ)で値を分けて記述していきます。

キー名を指定する場合は
array('キー名1' => '値1', 'キー名2' => '値2', 'キー名3' => '値3',・・・)
のように値の前に => を使用して記述します。

返り値

$配列変数名 = array('値1', '値2', '値3');
のようにすることによって、$配列変数名の中に配列が格納されます。

使用例

以下のようにすることで、名前に対してIDなどの情報が格納できます。

<pre>
<?php
  $var = array('tanaka' => array('ID' => '001', 'Age' => '30', 'Tel' => '0120-XXX-XX1'),
               'satou' => array('ID' => '002', 'Age' => '32', 'Tel' => '0120-XXX-XX2'),
               'kobayashi' => array('ID' => '003', 'Age' => '25', 'Tel' => '0120-XXX-XX3'),
  );

  var_dump($var);

  echo "佐藤さんのIDは".$var['satou']['ID']."<br>";
  echo "小林さんの電話番号は".$var['kobayashi']['Tel'];

?>
</pre>

実行結果は以下のようになります。
var_dumpによって配列に値が格納されていることが確認できます。

ブラウザ確認画像

配列の値を取得する際には以下のように配列変数名とキーを指定します。
$配列変数名['キー名1']['キー名2']


array_combine


array_combine関数は2つの配列がある場合に、
片方の配列をキー名、もう片方の配列を値にして
新しい配列を生成することができます。

連想配列などを作成する際に使用することができます。

書式

$配列変数名 = array_combine(‘キーになる配列名’, ‘値になる配列名’);

引数

引数には2つの配列名を指定します。
1つ目の引数がキー名になる配列、2つめの引数が値になる配列になります。

array_combine($配列1, $配列2)

返り値

$配列変数名 = array_combine($配列1, $配列2)
のようにすることによって、$配列変数名の中に
2つの配列をマージした結果が格納されます。

使用例

以下のようにすることで、1つ目の配列をキー名にして2つめに配列を値にすることができます。

 <pre>
 <?php

   $var1 =  array('1+1', '2+2', '3+3');
   $var2 =  array('2', '4', '6');

   $var3 = array_combine($var1, $var2);

   var_dump($var3);

   echo "1 + 1 = ".$var3['1+1']."<br>";
   echo "2 + 2 = ".$var3['2+2'];

 ?>
 </pre>

実行結果は以下のようになります。
var_dumpによって配列に値が格納されていることが確認できます。

ブラウザ確認画像

配列の値を取得する際には以下のように配列変数名とキーを指定します。
$配列変数名['キー名1']

今回はここまでにします。

  • このエントリーをはてなブックマークに追加

PAGE TOP