あちあち情報局

趣味や日曜プログラムなどを書いています

ユーザ用ツール

サイト用ツール


php_array

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
php_array [2018/06/04 10:31]
管理者
php_array [2018/06/04 10:32] (現在)
管理者 [連想配列]
ライン 1: ライン 1:
 +====== PHPの配列変数 ======
 +通常変数では1変数に1つの値しか代入できませんが、配列変数では1つの配列変数に添え字を付けて複数の値を代入する事ができます。
 +
 +===== 添え字を数値で格納 =====
 +
 +配列変数は、1つの変数名に番号を付けて管理する方法です。番号は0番からの正数となります。同じような処理を連続して行う場合に使用します。
 +
 +他のプログラム言語の「(一次元)配列」に相当しますが、取り扱いは連想変数に相当するため、配列は0から順番に使用しないと次の問題が発生します。
 +
 +  * 例えば配列を$a[1] $a[3] $a[5]と飛び飛びに使用した場合、配列数 count($a); は 5では無く「3」を返すので、forで繰り返し処理できません。最大値を記録する手段が必要となります。
 +
 +配列の登録方法
 +<​code>​
 +$a=array(); ​      //​配列初期化
 +$b=array('​aaa'​); ​ //​初期化と同時に配列追加
 +$c=array('​aaa','​bbb'​); ​ //​複数も可能
 +array_push($b,'​ccc'​);​ //​配列追加
 +array_push($c,'​ccc','​ddd'​);​ //​配列追加(複数)
 +$d[]='​aaa'; ​ //​[]でも配列登録(初期化されていれば$d[0]から開始)
 +$d[]='​bbb'; ​ //​[]でも追加すると$d[1]に代入
 +
 +//​使用注意(上記)
 +$e=array();
 +$e[1]='​aaa';​
 +$e[3]='​ccc';​
 +$e[5]='​eee';​
 +echo count($e); //​→3を返します(添え字の最大値では無いので注意)
 +</​code>​
 +
 +<​html>​
 +<​style>​.b1{border:​1px solid #​000;​}</​style>​
 +</​html>​
 +==== サンプルコード ====
 +
 +<code php>
 +<?php
 +  $a[] = 10; //​$a[0]と同じ
 +  $a[] = 30; //$a[1]
 +  $a[] = 50;
 +  for ($i=0; $i<​count($a);​ $i++){
 +    echo $a[$i].'<​br>';​
 +  }
 +?>
 +</​code>​
 +
 +==== 実行結果 ====
 +<php>
 +  echo '<​div class="​b1">';​
 +  $a[] = 10;
 +  $a[] = 30;
 +  $a[] = 50;
 +  for ($i=0; $i<​count($a);​ $i++){
 +    echo $a[$i].'<​br>';​
 +  }
 +  echo '</​div>';​
 +</​php>​
 +
 +===== 連想配列 =====
 +
 +連想配列は、特定の変数に文字列を付けて管理する方法です。
 +
 +<code php>
 +<?php
 + //​都道府県名から都道府県名番号
 + ​$a['​hokkaido'​]=1;​
 + ​$a['​aomori'​]=2;​
 + ​$a['​tokyo'​]=13;​
 +  foreach ($a as $key => $value){
 +    print $key.'​=>'​.$value;​
 +  }
 + //​都道府県名番号から都道府県名
 +  $b[1]="​北海道";​
 +  $b[2]="​青森";​
 +  $b[13]="​東京";​
 +  foreach ($b as $key => $value){
 +    print $key.'​=>'​.$value;​
 +  }
 +?>
 +</​code>​
  
php_array.txt · 最終更新: 2018/06/04 10:32 by 管理者