phpでは避けて通れない変数について話していきます。変数を使いこなせないと、この先何もできなくなるので、基礎ですが超重要なので覚えてもらったらなと思います。思っているほど実際は難しくないと思いますので、1度慣れればあんまり意識しなくても作れるようになると思います。
ここを読み終わる頃には、変数を使いこなしているようになるでしょう!なので、最後まで手を動かしながら付いてきてもらえればと思います。
変数とは
簡単に言うと、値に名前をつけて管理できるのが変数。変数がないと、いろんな値を区別することができません。人で言う名前ですね。名前がないと誰ば誰だかわからないし、どうやって呼んでいいかもわかりません。なので、値を識別するために名前をつけるのが変数だと思ってもらったら簡単と思います。
どんなんか早速みてみましょう!
$number = 10;
$name = 'ケビン';
// 実行
echo $number;
echo $name;
// 10
//ケビン
$マークに名前を英語で入れるだけって言う簡単さです。ここでもすでに変数の扱い方がわかってもらえたかもしれません。次で、その変数の宣言について話していきます。
変数の宣言
実はさっき見せちゃったんですけど、宣言と言うのは$マークで宣言することになります。$に名前を入れることにより変数の宣言ができて=で変数に入れたい値を書くと変数が作れます。
<?php
// $で宣言して変数名=の次に代入したい値を書く
$name = '名前';
// 文字列も場合はシングルクォーテーションかダブルクォーテーションで囲む
// 数字はそのまま書く
$number = 10;
//変数名はアルファベットスタートか_(アンダーバー)スタートで
//アルファベットかアンダーバーか数字が使えます
//大文字・小文字も区別されます
$firstName = '太郎';
echo $firstName; // 太郎
$_familyName = '山田';
echo $_familyName; //山田
$name1 = 'test1';
echo $name1; // test1
$1name = '1test';
echo $1name; // errorエラー出ます
上のように、使える変数名はアルファベットと_アンダーバーか数字で、始めはアルファベットかアンダーバーしか使えません。
変数は他の変数を入れることもできます。
<?php
$apple = 'りんご';
echo $apple; // りんご
$banana = $apple;
echo $banana; // りんご
//再代入も可能で、こうするとまた中身を変えられる
$banana = 'バナナ';
echo $banana; // バナナ
// こうすると、中身を空にできる
$banana = '';
echo $banana; // 空なので何も表示されない
配列の変数
配列も変数に入れることが可能です。
<?php
// 配列も同じくこのような感じで[]で囲む
$array = ;
// これも配列ですが上のが新しい手法です。
$array2 = array(1, 2, 3, 4, 5);
print_r($array);
/*
Array
(
[0] => 1
=> 2
=> 3
=> 4
=> 5
)
*/
配列に関して詳しくは、配列編をみてください!
変数のスコープって?
スコープは『範囲』ってことで、こっからここまでしか使えません的な感じで、スコープ内でしか変数は使えません。どうゆうことかと言うと実際にみた方がわかりやすいかもしれません。
ローカル変数は関数やクラスの中は外には影響を受けずにローカル内のみの変数として使えます。
<?php
// ローカルスコープ
$name = '山田';
function getName() {
//この中がローカルスコープで外の影響を受けない
$name = '田中';
echo $name; // 田中
}
echo $name; // 山田
グローバルスコープはこんな感じで、どこからでも呼び出すことができます。
<?php
//グローバルスコープ
//1から10の数字を順番に表示させる
for ($i = 1; $i <= 10; $i++) {
if ($i == 8) {
// 8の時に8を入れる
$number = $i;
}
}
echo $number; // 8
ちょっとわかりずらいかもしれませんが、自分で色々試してみることによって違いがわかってくると重いので試してみてください!
まとめ
変数はプログラミングではかなり重要なことなので、phpに限らず覚えておいたほうがいいです!もちろん言語によって書き方が違うので、注意が必要ですがphpでは上記のように書いたり扱えるので、色々試して覚えていきましょう!