配列処理
データ定義
<?php
// 基本はarrayを使用
$a = array();
var_dump($a);
// arrayの中に予めデータを設定しておくことも可能
// 連想配列のようにキーを指定しない場合は0~nのように番号を振る
$b = array("aaa", "10", 20, "vvvvvv");
var_dump($b);
// ハッシュ型のようにキーを指定することも可能
$c = array("key1" => 10, "aaa" => "aaaaaaaaaaaaa", "100" => "ddddd");
var_dump($c);
// arrayの中にarrayを組み込むことで多次元配列を作成可能
$d = array(
0 => array("aaaa", "bbbb", "cccc")
, "a" => array("bbb", "100")
, "aaaa"
, 100
);
var_dump($d);
// 配列のキーを動的に増やしたい場合はキーを指定するか[]未指定にする
// キーが文字列の場合は最初を0から計算する
$a = array();
$a[0] = 100;
$a["aa"] = 200;
$a["99"] = 300;
$a[] = 500;
var_dump($a); // 処理前の最後のキーの数値+1となる
?>
データ定義(5.4での追加)
<?php
/*******************
* 1次元配列
*******************/
// 配列設定
$a = [1, 2, 3];
// 表示
var_dump($a);
/*******************
* ハッシュ型
*******************/
// 配列設定
$a = ["a" => 1, "b" => 2, "c" => 3];
// 表示
var_dump($a);
/*******************
* ハッシュ型
*******************/
// 配列設定
$a = ["a" => ["aa" => 111]];
// 表示
var_dump($a);
- arrayだけではなく、"[]"を使用しても配列を定義できるように対応された
配列演算子による結合
<?php
// ===============================
// +演算子で配列の結合は行えるが、-演算子などで削減はできないので注意
// ===============================
// 配列の結合ではキーによる結合を行う
$a = array("aaa", "bbb", "ccc");
$b = array("ddd", "eee");
$ab = $a + $b;
var_dump($ab); // 1次元配列同士では左辺の配列を優先します
// キーを別々にして結合
$a = array(0 => "aaa", 1 => "bbb", 2 => "ccc");
$b = array(3 => "ddd", 4 => "eee");
$ab = $a + $b;
var_dump($ab); // キーを別々にすることで結合可能
// 連想配列のキーで確認
$a = array("aaa" => "100", "bbb" => "200");
$b = array("aaa" => "200", "ccc" => "300");
$ab = $a + $b;
var_dump($ab); // 同一キーの場合は左辺を優先する
?>
配列演算子による比較(==) キーまたは値が一致する場合のみ真
<?php
// 配列の比較
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => 100, "bbb" => "200");
$ab = ($a == $b);
var_dump($ab);
// 配列の比較(順番を入れ替え)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("bbb" => "200", "aaa" => 100 );
$ab = ($a == $b);
var_dump($ab);
// 配列の比較(型を変更)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => "100", "bbb" => 200);
$ab = ($a == $b);
var_dump($ab);
// 配列の比較(値を変更)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => 100, "bbb" => "210");
$ab = ($a == $b);
var_dump($ab);
// 配列の比較(キーを変更)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => 100, "ccc" => "200");
$ab = ($a == $b);
var_dump($ab);
?>
配列演算子による比較(===) キーと値、型、順番が一致する場合のみ真
<?php
// 配列の比較
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => 100, "bbb" => "200");
$ab = ($a === $b);
var_dump($ab);
// 配列の比較(順番を入れ替え)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("bbb" => "200", "aaa" => 100 );
$ab = ($a === $b);
var_dump($ab);
// 配列の比較(型を変更)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => "100", "bbb" => 200);
$ab = ($a === $b);
var_dump($ab);
// 配列の比較(値を変更)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => 100, "bbb" => "210");
$ab = ($a === $b);
var_dump($ab);
// 配列の比較(キーを変更)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => 100, "ccc" => "200");
$ab = ($a === $b);
var_dump($ab);
?>
配列演算子による比較(!=) キーまたは値が一致しない場合のみ真
<?php
// 配列の比較
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => 100, "bbb" => "200");
$ab = ($a != $b);
var_dump($ab);
// 配列の比較(順番を入れ替え)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("bbb" => "200", "aaa" => 100 );
$ab = ($a != $b);
var_dump($ab);
// 配列の比較(型を変更)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => "100", "bbb" => 200);
$ab = ($a != $b);
var_dump($ab);
// 配列の比較(値を変更)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => 100, "bbb" => "210");
$ab = ($a != $b);
var_dump($ab);
// 配列の比較(キーを変更)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => 100, "ccc" => "200");
$ab = ($a != $b);
var_dump($ab);
?>
配列演算子による比較(<>) キーまたは値が一致しない場合のみ真
<?php
// 配列の比較
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => 100, "bbb" => "200");
$ab = ($a <> $b);
var_dump($ab);
// 配列の比較(順番を入れ替え)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("bbb" => "200", "aaa" => 100 );
$ab = ($a <> $b);
var_dump($ab);
// 配列の比較(型を変更)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => "100", "bbb" => 200);
$ab = ($a <> $b);
var_dump($ab);
// 配列の比較(値を変更)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => 100, "bbb" => "210");
$ab = ($a <> $b);
var_dump($ab);
// 配列の比較(キーを変更)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => 100, "ccc" => "200");
$ab = ($a <> $b);
var_dump($ab);
?>
配列演算子による比較(!==) キーと値、型、順番が一致しない場合のみ真
<?php
// 配列の比較
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => 100, "bbb" => "200");
$ab = ($a !== $b);
var_dump($ab);
// 配列の比較(順番を入れ替え)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("bbb" => "200", "aaa" => 100 );
$ab = ($a !== $b);
var_dump($ab);
// 配列の比較(型を変更)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => "100", "bbb" => 200);
$ab = ($a !== $b);
var_dump($ab);
// 配列の比較(値を変更)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => 100, "bbb" => "210");
$ab = ($a !== $b);
var_dump($ab);
// 配列の比較(キーを変更)
$a = array("aaa" => 100, "bbb" => "200");
$b = array("aaa" => 100, "ccc" => "200");
$ab = ($a !== $b);
var_dump($ab);
?>
最終更新:2012年11月24日 21:27