配列
配列の宣言 ▲
PHP の配列には、要素番号と内容を持つ通常の配列と、キーバリュー形式の連想配列がある
配列の宣言方法を以下に記載する
// array() で定義する方法
$array = array( 1, 2, 'hi' );
// 短縮構文
$array = [ 1, 2, 'hi' ];
// 連想配列パターン
$array = array(
'foo' => 1,
'bar' => 2,
'baz' => 'hi',
);
// 連想配列でも短縮構文は使える
$array = [
'foo' => 1,
'bar' => 2,
'baz' => 'hi',
];
キー部分は整数または文字列である必要がある
bool型やnull、float型などはキャストされるため、キャスト後の値がわからなければ避けること(そもそも使用しないで済むならしない一択)
バリュー部分は任意の型を指定可能
また、キーを一部だけ指定したパターンでは自動的に割り振られる要素番号がそれまでにキーとして使われた最大の整数の次の値になることに注意する
例を以下に記載する
$array = array(
"a",
"b",
6 => "c",
"d",
);
/*
array(4) {
[0]=>
string(1) "a"
[1]=>
string(1) "b"
[6]=>
string(1) "c"
[7]=> // ここが 7 から始まることに注意
string(1) "d"
}
*/
配列の使用 ▲
配列の要素を取り出したいときは取得したい値と紐づく 要素番号 または キー を指定する方法がある
他にも配列全体をループ処理で回して取得する方法がある
$array = array(
"a",
"b",
"red" => "tomato",
"c",
"yellow" => "lemon",
);
/*
array(5) {
[0]=> string(1) "a"
[1]=> string(1) "b"
["red"]=> string(6) "tomato"
[2]=> string(1) "c"
["yellow"]=> string(5) "lemon"
}
*/
// 要素単体を取る方法
echo $array[2] . PHP_EOL; // c
echo $array["yellow"] . PHP_EOL; // lemon
// 値だけを取り出す場合
foreach( $array as $value )
{
echo $value . PHP_EOL; // 値だけ表示
}
// キー(または要素番号)とバリューを取り出す場合
foreach( $array as $key => $value )
{
echo $key . ':' . $value . PHP_EOL; // 値だけ表示
}
目次