HOMEデジタルカメラ・写真集・写真素材集PC講座・インターネット活用PCゲームPHPによるCGI美容ショッピングこのサイトについて
PHPの小枝:配列Arrayの扱い方

■PHPの小枝
PHPの使い方
フォームの受け渡し
SJISの不具合
画像アップローダー
Cookieの読み書き
├ ファイル操作
ランダム処理
配列Arrayの扱い方
参考文献

■掲示板


mail@管理人

 

 

 ここでは配列の基本的な扱い方を解説します。配列ソートは別に解説します。

 配列を作る
  $array[] = "A"; $array[] = "B"; $array['A'] = "C";
  または
  $array = array("A","B","A" => "C");
  この配列の中身は、
  $array[0]="A"; $array[1]="B"; $array['A'] = "C";
  となります。

 配列を置き換える
  配列を別の値で置き換えるには、置き換えたい配列に代入します。
  $array[0] = "A";
  $array[0] = "B";
  これでAはBに置き換わっています。

 配列の先頭を取りだす
  $line = array_shift($array)を使います。
  $array = array("A","B","A" => "C");
  $line = array_shift($array);
  この配列の中身は
  $line = "A";
  $array[0] = "B";
  $array[A] = "C";
  となります。$array[1] = "B"が$array[0] = "B"と1つ前にずれています。

 配列の最後を取りだす
  $line = array_pop($array)を使います。
  $array = array("A","B","A" => "C");
  $line = array_pop($array);
  この配列の中身は
  $line = "C";
  $array[0] = "A";
  $array[1] = "B";
  となります。

 配列の先頭に付け足す
  array_unshift($array,$str)を使います。
  $array = array("A","B","A" => "C");
  array_unshift($array,"D");
  この配列の中身は
  $array[0] = "D";
  $array[1] = "A";
  $array[2] = "B";
  $array['A'] = "C";
  となります。$array[0] = "A"が$array[1] = "A"と1つ後にずれています。

 配列の最後にに付け足す
  array_push($array,$str)を使います。
  $array = array("A","B","A" => "C");
  array_push($array,"D");
  この配列の中身は
  $array[0] = "A";
  $array[1] = "B";
  $array['A'] = "C";
  $array[2] = "D";
  となります。

 配列からランダムに要素を取りだす
  array_rand($array[,$int])を使います。
  $intには取りだす個数を入れます。省略すると1つだけ取りだします。
  $array = array("A","B","A" => "C");
  srand((double)microtime()*10000000);
  $key = array_rand($array);
  $line = $array[$key];
  $keyには配列のキーが$lineには$keyの要素が入ります。
  $keyが1なら$lineにはBが入ります。

 配列を逆順に並べ替える
  array_reverse($array)を使います。
  $array = array("A","B","A" => "C");
  array_reverse($array);
  配列の順序が
  $array['A'] = "C";
  $array[1] = "B";
  $array[0] = "A";
  になります。

 配列の要素数を調べる
  count($array)を使います。
  $array = array("A","B","A" => "C");
  $num = count($array);
  この場合は$num = 3になります。

 配列からキーと値を取りだす
  list($key,$value) = each($array)を使います。
  $array = array("A","B","A" => "C");
  while(list($key,$value) = each($array)){
   print "$key = $value<br>";
   }

実行結果
0 = A
1 = B
A = C

 配列のすべてのキーを取りだす
  array_keys($array)を使います。
  $array = array("A","B","A" => "C");
  $keys = array_keys($array);
  この場合は
  $keys[0] = 0;
  $keys[1] = 1;
  $keys[2] = "A";
  と、キーの値が別の添字配列に格納されます。

 配列のすべての要素を取りだす
  array_values($array)を使います。
  $array = array("A","B","A" => "C");
  $values = array_values($array);
  この場合は
  $values[0] = "A";
  $values[1] = "B";
  $values[2] = "C";
  と、要素の値が別の添字配列に格納されます。

 配列を表示する
  print_r($array)を使います。
  $array = array("A","B","A" => "C");
  print_r($array);
  この結果は Array ( [0] => A [1] => B [A] => C ) と表示されます。
  注意:ただのprint "$array"を使うとArrayとだけ表示されて中身が隠されています。
  print_rの表示結果が分かりにくいときは、上記のeachとwhile文を使った表示方法が良いと思います。