■配列変数代入
・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";
}
2000年2月22日星期二
配列
订阅:
博文评论 (Atom)
没有评论:
发表评论