【重要】PHP 配列の「初期化」と「要素の追加」の違い

実際、僕はこれが理解できてから学びのスピードが上がりました。

配列を自由に扱うことができると、今よりプログラミングが楽しくなりますよ!!

念の為、配列に関するPHPマニュアルのリンクもおいておきます。

サンプルコード上に出てくるvar_dumpの使い方はこちらの記事を参考にしてください!

https://akeoblog.com/vardump/
目次

1. まずは結論

下記のコードを比較してください!!

<?php

//配列の初期化
$list = [];


//要素の追加
$list[] = 追加したい要素;

この区別ができずに詰まってしまう生徒さんを何人も見てきました!!
理解して使い分けられるようにしていきましょう^^

2. 配列の初期化

下記のコードは書き方は違えど、同じことをやってます。

どちらも「配列の初期化」です!

a. 中身が空っぽの配列の初期化

<?php

//新しい書き方(PHP5.4以上)
$lists = [];

//古い書き方
$lists = array();

「新しい書き方」「古い書き方」かの違いですね

b. 初めから値が入っている配列の初期化

<?php

//新しい書き方(PHP5.4以上)
$lists = ["apple", "banana", "orange"];

//古い書き方
$lists = array("apple", "banana", "orange");

初めから何か値を入れておきたいときは、こんな感じで書きましょう^^

3. 配列へ要素を追加する

<?php

//新しい書き方(PHP5.4以上)
$lists[] = "apple";

//古い書き方
array_push($lists, "apple");

「apple」という文字列を$listという配列に入れることができます

4. おまけ

サンプルコードです!!

<?php
$lists = ["apple", "banana", "orange"];

//配列の初期化
$fruits = [];
foreach ($lists as $list) {
    //$fruitsという配列に要素を追加
    $fruits[] = $list;
}
var_dump($fruits);
このコードの実行結果はこちら
array(3) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(6) "banana"
  [2]=>
  string(6) "orange"
}

いきなりforeachが出てきてよくわからん!となった方はこちらの記事で復習してください^^

https://akeoblog.com/foreach/
よかったらシェアしてね!
目次