SAK 図書館

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

PHP 基礎編8 - 配列操作、sort、asort、ksort、array_push、array_shift

■配列変数代入

  ・array を使用すると簡単に配列変数に代入できる。

  $a = array('abc', 'def', 'ghi');

  ・個別に代入すると、次のようになる。

  $a[0] = 'abc';
  $a[1] = 'def';
  $a[2] = 'ghi';

  ・添字を省略すると、自動的に最後の配列の次に代入されていく。

  $a[] = 'jkl';
  $a[] = 'mno';

■配列変数分解

  ・list を使用すると簡単に配列変数を分解できる。

  $d = array('abc', 'def', 'ghi');

  list($a, $b, $c) = $d;

  ・個別に代入すると、次のようになる。

  $a = $d[0];
  $b = $d[1];
  $c = $d[2];

■文字列分解

  ・文字列はセット変数を添字でアクセスすると分解参照できる。
    $a[0] = '0'、$a[1] = '1' のように参照可能である。
    但し、逆は、単に Array と返ってくるので結合参照としては使えない。

  $a = '0123';

  print "<P>$a[0]</P>\n";
  print "<P>$a[1]</P>\n";
  print "<P>$a[2]</P>\n";
  print "<P>$a[3]</P>\n";

■配列数取得

  ・count で配列数を取得できる。
    添字上限としては、count($a) - 1 となる。

  $a = array('abc', 'def', 'ghi');
  $ct = count($a);

■配列列挙参照

  ・次の配列があるとする。

  $a = array('abc', 'def', 'ghi');

  ・PHP3 では、次のように reset、while、each を使用する。
    $tmp[0] は添字、$tmp[1] が実データとなる。

  reset($a);
  while ($tmp = each($a)) {
    print "<P>$tmp[0] - $tmp[1]</P>\n";
  }

  ・PHP4 では、次のように foreach を使用する。
    $tmp が実データとなる。

  foreach ($a as $tmp) {
    print "<P>$tmp</P>\n";
  }

■連想配列列挙参照

  ・次の連想配列があるとする。

  $a = array('key1' => 'abc', 'key2' => 'def', 'key3' => 'ghi');

  ・PHP3 では、次のように reset、while、each を使用する。
    $tmp[0] はキー、$tmp[1] が実データとなる。

  reset($a);
  while ($tmp = each($a)) {
    print "<P>$tmp[0] - $tmp[1]</P>\n";
  }

  ・PHP4 では、次のように foreach を使用する。
    $key はキー、$tmp が実データとなる。

  foreach ($a as $key => $tmp) {
    print "<P>$key - $tmp</P>\n";
  }

■配列ソート(昇順)

  ・配列を sort で昇順ソートできる。

  $a = array('abc', 'def', 'ghi');
  sort($a);

  foreach ($a as $tmp) {
    print "<P>$tmp</P>\n";
  }

■配列ソート(降順)

  ・配列を rsort で降順ソートできる。

  $a = array('abc', 'def', 'ghi');
  rsort($a);

  foreach ($a as $tmp) {
    print "<P>$tmp</P>\n";
  }

■連想配列ソート(昇順)

  ・連想配列を asort で昇順ソートできる。

  $a = array('key1' => 'abc', 'key2' => 'def', 'key3' => 'ghi');
  asort($a);

  foreach ($a as $key => $tmp) {
    print "<P>$key - $tmp</P>\n";
  }

■連想配列ソート(降順)

  ・連想配列を arsort で降順ソートできる。

  $a = array('key1' => 'abc', 'key2' => 'def', 'key3' => 'ghi');
  arsort($a);

  foreach ($a as $key => $tmp) {
    print "<P>$key - $tmp</P>\n";
  }

■連想配列キーソート(昇順)

  ・連想配列を ksort でキー昇順ソートできる。

  $a = array('key1' => 'abc', 'key2' => 'def', 'key3' => 'ghi');
  ksort($a);

  foreach ($a as $key => $tmp) {
    print "<P>$key - $tmp</P>\n";
  }

■連想配列キーソート(降順)

  ・連想配列を krsort でキー降順ソートできる。

  $a = array('key1' => 'abc', 'key2' => 'def', 'key3' => 'ghi');
  krsort($a);

  foreach ($a as $key => $tmp) {
    print "<P>$key - $tmp</P>\n";
  }

■配列末尾追加

  ・配列の末尾から array_push でデータを追加できる。
    データは複数指定することもできる。
    PHP4 の機能である。

  $a = array('abc', 'def', 'ghi');

  array_push($a, 'data1', 'data2');

  foreach ($a as $tmp) {
    print "<P>$tmp</P>\n";
  }

■配列末尾削除

  ・配列の末尾から array_pop でデータを削除できる。
    PHP4 の機能である。

  $a = array('abc', 'def', 'ghi');

  array_pop($a);

  foreach ($a as $tmp) {
    print "<P>$tmp</P>\n";
  }

■配列先頭追加

  ・配列の先頭から array_unshift でデータを追加できる。
    データは複数指定することもできる。
    PHP4 の機能である。

  $a = array('abc', 'def', 'ghi');

  array_unshift($a, 'data1', 'data2');

  foreach ($a as $tmp) {
    print "<P>$tmp</P>\n";
  }

■配列先頭削除

  ・配列の先頭から array_shift でデータを削除できる。
    PHP4 の機能である。

  $a = array('abc', 'def', 'ghi');

  array_shift($a);

  foreach ($a as $tmp) {
    print "<P>$tmp</P>\n";
  }

■配列連結

  ・別の配列を結合するには array_merge を使用する。
    PHP4 の機能である。

  $a = array('abc', 'def', 'ghi');
  $b = array('123', '456', '789');

  $a = array_merge($a, $b);

  foreach ($a as $tmp) {
    print "<P>$tmp</P>\n";
  }

■配列一部切り出し

  ・配列の一部分を切り出すには、
      array_slice($a, 1, 1);
                      |  |_ 要素数
                      |_ 切り出し開始添字
    を使用する。
    PHP4 の機能である。

  $a = array('abc', 'def', 'ghi');

  $a = array_slice($a, 1, 1);

  foreach ($a as $tmp) {
    print "<P>$tmp</P>\n";
  }

■配列要素反転

  ・配列の要素を逆順にするには array_reverse を使用する。

  $a = array('abc', 'def', 'ghi');

  $a = array_reverse($a);

  foreach ($a as $tmp) {
    print "<P>$tmp</P>\n";
  }

■連想配列要素反転

  ・連想配列の要素を逆順にするには array_reverse($a, True) を使用する。

  $a = array('key1' => 'abc', 'key2' => 'def', 'key3' => 'ghi');

  $a = array_reverse($a, True);

  foreach ($a as $key => $tmp) {
    print "<P>$key - $tmp</P>\n";
  }

■PHP 基礎編資料
■PHP + MySQL 編資料
■CGI-Perl 基礎編資料
■CGI-Perl 基礎実地編資料
■CGI-Perl 応用実地編資料
| VB | SQL | Perl | PHP | ASP | JSP | C | PC | HP | FAQ | フリーソフト |

SAK Streets メインストリート 図書館・カフェ 一覧 SAK Streets 検索



Copyright (C) 1999-2017 Y.SAK