PHPの配列

連想配列

連想配列とは、識別子として文字列を使用することができる配列である。配列の識別子となる文字列は、大文字と小文字が区別される。

array(key1 => value1 [, key2 => value2...])

$foo = array(
  'bar' => 'baz',
  'qux' => 'quux',
);

PHPでcheckboxの値を受け渡しする場合、nameに[]をつけると、配列としてPHP側に渡される。

PHP側で$student = $_POST['student'];のように受け取れる。変数$studentは配列になっている。

配列に関するPHP関数

配列に関するPHP関数の一覧
関数説明
array_fill 配列を指定した値で埋める
in_array 配列に値があるかチェックする

array_count_values

array array_count_values(array $array)

array_fill関数

指定した値で埋めた配列を返す。

array array_fill(int $start_index, int $num, mixed $value)
$start_index
返される最初のインデックスを指定する。
$num
挿入する要素数を指定する。
$value
要素に使用する値を指定する。
$foo = array_fill(0, 3, null);

array_merge

配列の内容を連結する。

array_merge(array $array[, array $array2...])

array_push

配列に値を追加する。

int array_push(array &$array, mixed $value [, mixed $value...])

array_walk 配列のすべての要素にユーザ関数を適用する

bool array_walk(
  array    &$array
 ,callable $funcname
[,mixed    $userdata = NULL]
)

array配列の各要素にユーザ定義関数funcnameを適用する。

in_array関数

指定した値が配列に含まれていればTRUE、含まれていなければFALSEを返す。

bool in_array(mixed $needle, array $haystack, bool $strict = FALSE)
$needle
探す値を指定する。文字列で指定した場合、大文字と小文字は区別される。
$haystack
配列を指定する。
$strict
型も一致するかチェックする。

チェックボックスの値を配列で取得する

チェックボックスのフィールド名(name属性の値)の末尾に[]を付けると、チェックボックスの値を配列で受け取ることができる。

HTMLテンプレートにinput要素を次のように記述する。

<form action="example.php" method="post">
  <input type="checkbox" name="color[]" value="red">
  <input type="checkbox" name="color[]" value="green">
  <input type="checkbox" name="color[]" value="blue">
</form>

このHTML文書をsubmitした場合、フォームデータを次のように受け取ることができる。

$color = $_POST['color'];

変数$colorには、チェックの入ったフィールド値が配列で格納される。

Array ( [0] => 'red' [1] => 'green' [2] => 'blue' )