【のんラボ】PHPでプログラミングの基礎を学ぼう!変数編【学生向け】

2021/03/06 2021/03/06 #のんラボ #PHP #学生向け

【のんラボ】PHPでプログラミングの基礎を学ぼう!変数編【学生向け】

こんにちは。Nonです。

今回は

用の記事になります。

初心者、特に学生向けに作成しているので、プロの方は読んでも特に意味がないかと思いますので、あしからず。

YouTube動画

変数ってなに?

変数というのはです。

PHPではこのように定義します。

$hensu = '中身';

このように書くと$hensuという箱に中身という文字が格納されます。

シングルクォーテーション or ダブルクォーテーションで囲まれたものはstring型といい文字列を示します。基本的にはシングルクォーテーションで文字列を格納しておくことをおすすめします。(理由はそのうち記事にするかもしれません。)

同じように

$hensu = 100;

と書くと$hensuという箱に100が格納されます。

ただ、数字が格納されたものをint型(integer型)といい数字を示します。
他にも、

$hensu = 1.23;

のようなfloat型という小数を表す型も存在します。

$hensu = false;

と書くと$hensuという箱にfalseが格納されます。これはbool型といい、truefalse真偽値を示します。

他にも色々な型がありますが、基本的な型についてはここまでにしておきましょう。気になる方は色々調べてみると勉強になって良いかもしれません。

配列ってなに?

普通の配列

変数の中に配列というものがあります。
配列というのは箱を並べたものをイメージしてもらうと良いです。

変数配列
変数.png配列.png

PHPで書くとこのようになります。

$hensu = [1, '中身', false];

このように、複数の値を1つの変数に格納できるものを配列といいます。

連想配列

連想配列は配列と同じように箱が並んでいますが、それぞれに名前があります。

配列連想配列
配列.png連想配列.png

PHPで書くとこのようになります。

$book = [
    'page' => 100,
    'name' => 'ワンピース', 
    'is_comic' => false,
];

このように、配列のそれぞれの箱に名前をつけたものをを連想配列といいます。

連想配列を使うことで、一つの事柄に関する情報を1つにまとめて表すことができ、色々な場面で使用されますので、覚えておくと非常に便利です。

上記の例ではいえば、ページ数が100ページ、名前がワンピース、コミックであることがわかっている本であることが表現できていますね。もちろん、priceを追加して450とかを設定しても大丈夫です。

多重配列

配列は箱の連続で、その中に自由に変数を入れることができます。
ということは、配列の中に配列を入れることもできるわけです。

$tools = [
    'エアコン',
    'TV',
    'お風呂',
    'トイレ',
];
    
$home = [
    'size' => 'big',
    'tools' => $tools,
    'family' => [
        'mother' => '母',
        'father' => '父',
        'me' => '自分',
    ],
];

var_dump($home);

このように配列の中に配列や連想配列を入れると...

/var/www/html/index.php:20:
array (size=3)
  'size' => string 'big' (length=3)
  'tools' => 
    array (size=4)
      0 => string 'エアコン' (length=12)
      1 => string 'TV' (length=2)
      2 => string 'お風呂' (length=9)
      3 => string 'トイレ' (length=9)
  'family' => 
    array (size=3)
      'mother' => string '母' (length=3)
      'father' => string '父' (length=3)
      'me' => string '自分' (length=6)

となります。
データの構造を事細かに表すことができるので、連想配列と多重配列は現場でもよく利用します。

変数の使い方

代入

変数に値を格納することを代入とか言ったりします。まぁこの辺は伝わればOK。

$a = 'aだよ'; // $a に 'aだよ' を代入
$b = $a; // $b に $a を代入
echo $b;

結果はaだよ になります。数学の変数と同じですね。

$a = 'aだよ'; // $a に 'aだよ' を代入
$a = 'bだよ': // $a に 'bだよ' を代入
echo $a;

結果はbだよ になります。変数の代入で中身を上書きすることができます。

配列の操作

配列の操作は箱の名前が重要です。

$book = [100, 'ワンピース', false];
// 名前をワンピースからドラゴンボールに変えたい
$book[1] = 'ドラゴンボール';
// 配列の中身を見る時はvar_dump();
var_dump($book);

結果は

/var/www/html/index.php:7:
array (size=3)
  0 => int 100
  1 => string 'ドラゴンボール' (length=21)
  2 => boolean false

このように、ただ普通の配列を作成したとき、箱の名前は先頭から0, 1, 2 ... と数字が振られていくことになります。なので、名前が入っている1番目の箱の中身を変えたいときは$array_1[1]と指定するのです。

これは連想配列でも同じです。

// こんな事もできる
$page = 100;
$book = [
    'page' => $page,
    'name' => 'ワンピース',
    'is_comic' => false
];
// 名前をワンピースからドラゴンボールに変えたい
$book['name'] = 'ドラゴンボール';
// 配列の中身を見る時はvar_dump();
var_dump($book);

結果は

/var/www/html/index.php:13:
array (size=3)
  'page' => int 100
  'name' => string 'ドラゴンボール' (length=21)
  'is_comic' => boolean false

となります。

配列に新しい箱を追加するには?

すでに定義した配列に新しく要素(箱)を追加する方法はこのように書けます。

$book = [
    'page' => 100,
    'name' => 'ワンピース',
    'is_comic' => false
];
// []をつけちゃう
$book[] = 450;
$book[] = '追加したやつ';
var_dump($book);

結果は

/var/www/html/index.php:11:
array (size=5)
  'page' => int 100
  'name' => string 'ワンピース' (length=15)
  'is_comic' => boolean false
  0 => int 450
  1 => string '追加したやつ' (length=18)

名前をつけずに[]で追加すると、自動的に数字が順番に割り当てられます

なので、わかりやすく名前をつけてみましょう。

$book = [
    'page' => 100,
    'name' => 'ワンピース',
    'is_comic' => false
];
// ↓みたいに[追加したい箱の名前]に代入しちゃう
$book['price'] = 450;
var_dump($book);

結果は、

/var/www/html/index.php:10:
array (size=4)
  'page' => int 100
  'name' => string 'ワンピース' (length=15)
  'is_comic' => boolean false
  'price' => int 450

これまでに知ったことを利用して色々やってみます。

配列にデータを入れまくる。

$number = 100;
$array = [];
$array[] = $number;
$array['name'] = '百';
$array['kana'] = 'ひゃく';
$array[] = true;
$array['book'] = [
    'page' => 100,
    'name' => 'ワンピース',
    'is_comic' => false
];
var_dump($array);

結果

/var/www/html/index.php:14:
array (size=5)
  0 => int 100
  'name' => string '百' (length=3)
  'kana' => string 'ひゃく' (length=9)
  1 => boolean true
  'book' => 
    array (size=3)
      'page' => int 100
      'name' => string 'ワンピース' (length=15)
      'is_comic' => boolean false

最後に

この記事を理解して変数を色々操作できることがアプリケーションを作る上でとても重要なことです。

特に配列の操作ができるようになると飛躍的に伸びます。

数学と考え方は一緒なので、躓くことはほとんどないとは思いますが、 何かわからなければ

か、YouTubeのコメント欄にでも書いておいて下さい。

↑のように、検索ボックスに「のんラボ」を入力して検索してもらうと、関連記事が表示されます。

よかったら利用してみて下さい。

.

のん

所属 : 株式会社スマレジ 開発部

YouTube : のんラボ

Twitter : @nonz250

Github : nonz250

Qiita : @nonz250

My Qiita posts My Qiita contributions My Qiita followers

主にPHPを使用し、サーバーサイドを担当。最近はフロントにも興味津々。

なにかを作ったりいじったりするのが好きで、個人開発なども行っている。

趣味はバイクアイコン画像は大抵愛車の「Z250」である。友達にアイコン描いてもらえて嬉しい。

PHP / Laravel / CakePHP2 / CakePHP3 / Vue / Nuxt / C# / etc...

Tags

#のんラボ #Laravel #Vue #個人開発 #ブログ #プログラミング #javascript #Html5 #WEBサービス #Twitter #今年の抱負メーカー #勉強方法 #PWA #モバイルアプリ #Android #ツーリング #バイクに乗るエンジニア #Z250 #秋吉台 #能登半島 #バイク #冒険 #東尋坊 #Squid #リバースプロキシ #hosts #axios #cropper #AdSense #Bootstrap #MySQL #高速化 #トドTask #Telescope #デバッグ #composer #テスト #セキュリティ #POSレジ #スマレジ #本部機能 #バリデーション #入力チェック #Mac #Chrome #テスト駆動開発 #開発手法 #UI #デザイン #WEBサイト #機能美 #PHP #Laravel 6 #コメント #バージョンアップ #vue-cli #localhost #BIツール #売上分析 #TANAX #MFK250 #ツアーシェルケース2 #RESTful #API #REST API #実務的 #PHP Tech Tutor #Smaregi Tech Talk #勉強会 # ブログ #CakePHP3 #CSRF #VSCode #開発環境 #CakePHP3.0 #さくらのレンタルサーバー #モジュールモード #シェル #メール #Gmail #relay #OGP #エラーページ #抱負 #家庭教師 #ドメイン駆動設計 #DDD #読書会 #那智の滝 #伊勢志摩 #伊勢志摩スカイライン #フロント #三方五湖 #レインボーライン #ボーイスカウト・ルール #プログラマが知るべき97のこと #リファクタリング #ユビキタス言語 #車輪の再発明 #マイクロサービス #デプロイ #QA #laravel-mix #Tips #storybook #@storybook/addon-actions #昇降デスク #コードレス #書斎 #オフィス #リモートワーク #働き方 #エラーハンドリング #スマレジ4 #pixel 5 #レビュー #スマレコ #TDD #RSS #404 #高山ダム #ラーツー #React #Nuxt #node_modules #エラー #インポート #設定方法 #環境構築 #Docker #フォレストパーク神野山 #学生向け #PR #採用 #Node.js #npm