PHP

【PHPの基礎】配列、連想配列をマスターしよう!

配列
今回解決できる内容

✔️配列ってなに?

✔️配列の使い方は?

✔️連想配列とは?

✔️連想配列の使い方は?

プログラミング学習を進めていくと、1つの変数に1つの値を入れていくところから、複数の値を一気に扱うようなプログラムを組むことになります。

その際に使われるのが配列です。

考え方が少し難しいですが、とても大事な章なので是非マスターしていきましょう!

独学がつらくなった方は下記をご覧ください!

>>【初心者必見!】無料体験ができるプログラミングスクールをご紹介!

【基礎編】配列とは

配列とは、複数の文字列や数字を一纏めに格納することが出来るものです

配列は下記のように記述します

配列= array('要素A','要素B','要素C');

実際に具体例を記述してみましょう。

<?php 

$array=array('国語','算数','理科','社会','体育');
print_r($array);

 ?>

配列名は決まったものはないですが、$arrayをおく場合が多いです!

実行結果は下記のようになります。

配列を作成すると、配列$arrayという大きな箱の中に文字列を格納するための、[0]、[1]……という小さな箱ができます。そこに自動的に数値が割り振られます。これを添え字と言います。

プログラミングでは基本的に整数は、「0」からスタートするので注意して下さい!

【応用編】配列から特定のデータを抽出する

配列から特定のデータを抽出する際は下記のように記述します。

<?php

$array=array('国語','算数','理科','社会','体育');
echo $array[1];

?>

結果は下記の通りです。


上記を実行すると[1]の箱の中身、つまり「算数」のみが表示されます。

【基礎編】連想配列とは

先程の[0],[1]のような値が入る箱のことをキーと呼びます

キーには添え字(数字)以外にこちらで名前をつけることができます。

自身でキー名を名付けた配列を「連想配列」とよびます。

下記の例を確認してみましょう!

<?php

$array=array();
$array['number']='1';
$array['name']='佐藤';
$array['age']='27';
print_r($array);

?>

実行結果は下記の通りです。

これが連想配列の書き方です!

このようにそれぞれのキーに名前が付いた配列が連想配列になります!

【応用編】連想配列のキーや値を抽出する

次に連想配列のキーや値を抽出してみましょう!

連想配列のキーや値を抽出する場合はforeach構文を使用します!

連想配列のforeachの構文の書き方は下記の通りです。

foreach (配列の変数 as キー変数 => 各要素が格納される変数) {
実行処理文
}

それでは実際に例文を作ってみよう!

<?php

$array=['得意'=>'体育','普通'=>'英語','不得意'=>'国語'];
foreach($array as $name=>$subject){
  echo $name.':'.$subject.'<br>';
}

?>

これを実行すると下記のようになります。

$array(配列の変数)という配列の中のキーを$nameに、要素を$subjectに格納していきます。その後{}の中を実行します。

echoは出力コード、'<br>’は段落を設けるコードです。これを1つずつ繰り返し処理をしていくと、上記のように、「得意:体育、普通:英語、不得意:国語」と順番に出力されます。

foreachの詳細は下記の記事を参考にして下さい!

>>【PHPの基礎】foreach構文をマスターしよう!

独学でツラくなった方へ

私は独学でプログラミングを学んで、実際に初めて稼げるようになるまで2年以上かかりました

当時は意地でも独学で学んでやる!と意気込んでいましたが、今思えばスクールに通うことで稼ぐまでのスピードはもう少し短縮できたのではと思っています。

効率よくプログラミングを身につけたい方は是非参考にしてみて下さい!

まとめ

今回説明した内容

✅配列の使い方

✅連想配列の使い方

今回は以上になります。

配列の考え方はなれるまで時間がかかると思いますが、徐々にコツを掴んでいきましょう!

配列における組み込み関数のまとめは下記の記事を参考にして下さい!

配列における組み込み関数
【PHPの基礎】PHPの配列における組み込み関数のまとめ!(追加|検索|結合|要素数|キーの存在) 今回解決できる内容 ✔️PHPの配列における組み込み関数を知りたい! 今回は配列における組み込み関...