|
ここでは配列の基本的な扱い方を解説します。配列ソートは別に解説します。
配列を作る
$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>";
}
配列のすべてのキーを取りだす
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文を使った表示方法が良いと思います。
|