配列の定義
PHPで配列を定義するには「array()」を使って変数に代入する方法と、変数に[ ]で直接代入する方法がある。
どちらの方法でも、キーなしの配列・キーありの連想配列それぞれ定義可能
// array()を使って定義(キーなし)
$ary0 = array("value1","value2","value3");
var_dump($ary0);
// array()を使って定義(キーあり)
$ary1 = array(
"key13" => "value1",
"key12" => "value2",
"key11" => "value3"
);
var_dump($ary1);
// [ ]を使って定義(キーなし)
$ary2 = ["value1","value2","value3"];
var_dump($ary2);
// [ ]を使って定義(キーあり)
$ary3 = [
"key21" => "value1",
"key22" => "value2",
"key23" => "value3"
];
var_dump($ary3);
配列への項目追加
キーなし、キーありそれぞれのパターンはこんな感じ。キーを指定せずに作成した配列は自動採番したインデックスをキーになる。更新はすでに存在するキー値を指定し値を代入。
// キーなしの配列を定義
$ary0 = array("value1","value2","value3");
// キーありの配列を定義
$ary1 = array("key13" => "value1", "key12" => "value2", "key11" => "value3");
// 項目追加(キーなし)
$ary0[] = "value4";
var_dump($ary0);
// 項目追加(キーあり)
$ary1["key14"] = "value4";
var_dump($ary1);
// 更新(キーなし配列は自動採番された番号を指定)
$ary0[0] = "0番目の要素を更新";
// 更新(キーあり配列)
$ary2["key12"] = "key12の値を更新";
配列の値取得
配列の値取得。よく使うパターンはforeachでキー値と値をサクッと取得。
// キーなしの配列を定義
$ary0 = array("value1","value2","value3");
// キーありの配列を定義
$ary1 = array("key13" => "value1", "key12" => "value2", "key11" => "value3");
/* 配列のキー値と値の取得(キーなし) */
foreach ($ary0 as $key => $value) {
echo "keyは" . $key . " 値は" . $value . "<br />";
}
/* 配列のキー値と値の取得(キーあり) */
foreach ($ary1 as $key => $value) {
echo "keyは" . $key . " 値は" .$value. "<br />";
}
配列のキー値のみを取り出すarray_key()という関数もある
// キーありの配列を定義
$ary1 = array("key13" => "value1", "key12" => "value2", "key11" => "value3");
// array_keysで配列のキー値を取り出す
$keys = array_keys($ary1);
var_dump($keys);
配列のソート
配列にソートに関するメソッドは意外とたくさんある。中でも使用頻度が高いパターンの例(配列の値での昇順ソート・降順ソート、配列のキー値での昇順ソート・降順ソート)
その他ソートの詳細はPHP マニュアル 配列のソートを参照。
// キーなしの配列を定義
$ary0 = array("value1","value2","value3");
// キーありの配列を定義
$ary1 = array("key13" => "value1", "key12" => "value2", "key11" => "value3");
// 項目の値で昇順ソート
asort($ary1);
var_dump($ary1);
// 項目の値で降順ソート
arsort($ary1);
var_dump($ary1);
// キーの値で昇順ソート
ksort($ary1);
var_dump($ary1);
// キーの値で降順ソート
krsort($ary1);
var_dump($ary1);