Help us understand the problem. What is going on with this article?

PHP基礎 Part2

概要

PHPの独学で学んだ内容をアウトプットしていく

前回の内容

PHP基礎 Part1

データ型

Part1でも出てきた文字列や数字といった値には、それぞれデータ型というものが定義されている。
下の図1はデータ型の一覧である

【図1】データ型と型名

データ型 型名
boolean 論理型
integer 整数型
float 浮動小数点型
string 文字列
array 配列
resource リソース
NULL ヌル値

変数とは

初学者向けに説明されている内容は、「データを入れる箱」とされている
これでもざっくりとした理解にはつながるが、個人的には以下の記事の内容にしっくり来るものがあった。
なぜ日本人はオブジェクト指向をなかなか理解できないのか?

変数の定義

PHPでは変数を定義するルールとして、頭に「$」を付ける
こうすることで変数の定義が可能となる
PHPでは「=」は右辺のデータを左辺のデータに代入することを示す
(上で紹介した記事の内容だと「代入する」より「割り当てる」がより適した意味ではないかと提唱している)

sample.php
<?php
  $number = 1; // 変数の定義を行う
  echo $number; // 定義した変数(1)を出力

  // 結果:1
?>

変数の役割

  1. データの命名
  2. 複数回使うデータをまとめられる

例えば直径の長さを求めるのに、変数を使う場合とそうでない場合とで想定する
変数を使う場合は以下の通りにコードが書かれる

sample.php
<?php
  $radius = 5; // 半径の長さを定義
  $diameter = $radius * $radius * 3; // 直径の長さを算出し、変数$diameterへ割り当てる
  echo $diameter; // 変数$diameterを出力

  // 結果:75
?>

これを使わないと以下のようなコードとなる

sample.php
<?php
  $diameter = 5 * 5 * 3; // 直径の長さを算出し、変数$diameterへ割り当てる
  echo $diameter; // 変数$diameterを出力

  // 結果:75
?>

両方とも出力される結果は同じであるが、
下の方は仮に半径の長さが変わった場合に2箇所修正する必要がある
一方で、上のコードは変数$radiusの値を修正するだけで解決する

変数名の付け方

  1. 英単語を用いる(変数で年齢を定義したければ「age」を用いる等、何を定義したいかが明確に判別可能な単語を使う)
  2. 2語以上の場合は、大文字で区切る(例:$userName)
  3. 数字から始まる命名は不可
  4. ローマ字や日本語での命名は望ましくない

変数の更新

変数は割り当てられている値を更新することが可能

sample.php
<?php
  $num = 5;
  echo $num; // 5が出力される
  // 結果:5
  $num = 10;
  echo $num; // 更新された変数の値が出力される
  // 結果:10
?>

また、現在割り当てられている変数の値に別の数字を足すことも可能

sample.php
<?php
  $num = 5;
  $num = $num + 5; // 変数$numに5を加える
  echo $num; // 10が出力される
  // 結果:10
?>

これを他の四則演算も考慮した上で、省略した形が以下の形式となる

sample.php
<?php
  $num = 10;
  $num += 5; // $num = $num + 5の省略系
  $num -= 5; // $num = $num - 5の省略系
  $num *= 5; // $num = $num * 5の省略系
  $num /= 5; // $num = $num / 5の省略系
  $num %= 5; // $num = $num % 5の省略系
?>

足す値、引く値が1のみである場合は、同じ記号を2度使うことで省略が可能
この形式をインクリメント、デクリメントと呼ぶ

sample.php
<?php
  $num1 = 7;
  $num2 = 3;
  echo ++$num1; // 値は8
  // 結果:8
  echo --$num2; // 値は2
  // 結果:2
?>

文字列や変数の連結

文字列や変数を「.」で繋げると、文字の連結が可能になる

index.php
<?php
  $term = "あいう";
  echo $term."えお"; // 変数と文字列を「.」で連結し出力
 // 結果:あいうえお
?>

文字列の連結は「.=」を用いることで省略した形で記述できる

index.php
<?php
  $term = "かきく";
  $term .= "けこ"; // $term = $term . "けこ"の省略形
  echo $term; //
  // 結果:かきくけこ
?>

変数展開

ダブルクォーテーションで囲われた文字列の中に、
変数を組み込むと変数に割り当てられた値が出力される
使い方は、変数を「{}」で囲うこと

index.php
<?php
  $today = "2019/12/02";
  echo "本日は{$today}です"; // 全体を「""」で囲った上で、変数箇所を{}で囲う
  // 結果:本日は2019/12/02です
?>

次回

  • if文
  • switch文
Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away