連想配列で配列に要素を追加したいんだけどどうやってやればいいんだろう
本記事は上記のような疑問に役立つ内容となっています。
プログラミングをしていると配列や連想配列というものに出くわすことがありますよね。
配列を使うと変数の管理が楽になるのと同じように、連想配列を使うとよりプログラムの見通しが良くなるため書き方を習得しておくと便利になるはずです。
その中でも今回は連想配列で配列への追加をする方法について深掘りしていきます。
それでは早速見て行きましょう。
連想配列で配列への追加をする方法
では実際に連想配列に配列を追加する方法を見ていきます。
キーをして要素を追加する
連想配列に配列を追加する方法は何種類かありまして、以下の方法は一番スタンダードなキーを指定して要素を追加する方法です。
<?php
$human = [
'name' => '佐藤太郎',
'age' => '25',
'hobby' => 'fishing'
];
$human['height'] = '175cm';
?>
<?php echo $human['height'] ?>
//結果 175cm
ちなみに、既に指定しているキーに新しい値を入れてしまうと上書きされてしまうので注意しましょう。
<?php
$human = [
'name' => '佐藤太郎',
'age' => '25',
'hobby' => 'fishing'
];
$human['age'] = '36';
?>
<?php echo $human['age'] ?>
//結果 36
【+】演算子を使って追加する
以下のように+演算子を使うことでも同様の方法が得られます。
<?php
$human = [
'name' => '佐藤太郎',
'age' => '25',
'hobby' => 'fishing'
];
$human = $human + array('height'=>'175cm');
?>
<?php echo $human['height'] ?>
//結果 175cm
array_merge関数を使って追加する
array _merge関数を使う方法もあります。
<?php
$human = [
'name' => '佐藤太郎',
'age' => '25',
'hobby' => 'fishing'
];
$human = array_merge($human,array('height'=>'175cm'));
?>
<?php echo $human['height'] ?>
//結果 175cm
そもそも連想配列とは?
ここで連想配列についておさらいしておきましょう。
連想配列とは、通常の配列と違い、要素に名前をつけて値を管理することができる配列のことです。
どういうことか見てみましょう。
通常の配列の記述
//配列を定義
$配列名 = ['値1','値2','値3'...];
//配列の要素を呼び出し
echo 配列名[0]
通常の配列は上記のような書き方をします。
配列を呼び出す際に[0]のような「添字」、もしくはインデックスと呼ばれる数字を指定して配列から任意の要素を取り出す方法ですね。
では連想配列について見ていきましょう。
連想配列の記述
連想配列の記述は以下です。
//配列を定義
$配列名 = [
'要素名1'=>'値1',
'要素名2'=>'値2',
'要素名3'=>'値3'
];
echo 配列名['要素名'];
このように添字ではなく、要素名で呼び出すことが出来ます。
数字である添字よりも、言葉から要素を「連想できる」連想配列の方がより配列を管理しやすいという点が連想配列のメリットと言えます。
要素名と値を
'要素名1'=>'値1',
上記のように「=>」をつける点も連想配列の特徴です。
要素を削除する方法
では最後に要素を削除する方法についても見ておきましょう。
要素削除する時はunset()という関数を使用します。
<?php
$human = [
'name' => '佐藤太郎',
'age' => '25',
'hobby' => 'fishing'
];
unset($human['age']);
?>
//指定した要素を削除
<?php echo $human ?>
//結果
human
(
'name' => '佐藤太郎',
'hobby' => 'fishing'
)
//ageの要素は削除されました
上記のように削除したい要素にunset関数をセットすることで要素を削除することが出来ます。
終わりに
いかがでしたでしょうか。
連想配列と聞くと少し難しく感じるかもしれませんが、「配列のキーに名前をつけて管理しやすくする方法」と理解できれば難しくないのではないでしょうか。
もし「連想配列に要素を追加する方法ってどうするんだっけ」「そもそも連想配列ってなんだっけ」と思った時はまたこちらの記事を読み返してくださいね。