LoginSignup
14
6

独習PHP学習メモ(Chapter2-データ型)

Last updated at Posted at 2024-04-11

PHP8技術者認定初級試験取得を目指しています🔰

公式の認定教材である独習PHP第4版での学習のアウトプット用の記事です。

データ型の分類

  1. スカラー型・・・1つの変数に1つの値だけを扱う(論理型、整数型、文字列型など)
  2. 複合型・・・複数の値をまとめて扱う(配列型、オブジェクト型など)
  3. 特殊型・・・上記どちらでもないもの(リソース型、ヌル型)

の3分類ができる。

論理型(bool)

true もしくは false で表現される。

PHPでは以下の値をfalseとみなす。

  • 空文字、または文字列の0
  • 整数型の0
  • 浮動小数点型の0.0
  • 空の配列
  • null

それ以外をtrueとみなす。

整数型(int)

以下に分類される値を扱う。

  • 10進数
  • 2進数
  • 8進数
  • 16進数

浮動小数点型(float)

一般的な小数点数だけでなく、指数表現も存在する。
(ちょっと数学弱すぎて指数表現は解説読んでも分からなかった、、、)

文字列型(string)

シングルクォート、もしくは、ダブルクォートで括られた値。

'こんにちは'
"Hello"

シングルクォートの文字列とダブルクォートの文字列は微妙に挙動が違う。

①変数を展開するかどうか

ダブルクォートは文字列に含まれた変数を展開できる。

$title = 'ポケモン'
"これは{$title}です"

// 出力結果
これはポケモンです

②エスケープシーケンスを認識するかどうか

ダブルクォートはエスケープシーケンスを認識できる。

エスケープシーケンス 概要
\n 改行
\t 水平タブ
\v 垂直タブ

これらを認識できるのはダブルクォートのみである。

①と②の理由からPHPでは意図的に①と②にしたい場合以外は、シングルクォートでくくるものとしている。

ヒアドキュメント

文字列型を表す方法としてヒアドキュメントという方法がある。
長い文字列を含む際に適した方法である。

$title = 'ポケモン';

$message = <<< EOD
{$title}不思議な生き物と共に冒険を進めていくRPGです
全部で1008種類もいます
"かがくのちからってすげー!"
EOD;

print $message;

// 実行
ポケモンは不思議な生き物と共に冒険を進めていくRPGです
全部で1008種類もいます
"かがくのちからってすげー!"

<<<EOD〜EOD;で囲んだ部分を全て文字列とみなす。

EODの部分は開始と終了が同じであれば、<<<ABC~ABC;でも構わない。
小文字でも動作するが全て大文字にするのが一般的である。

例えば、
<<<"EOD"<<<'EOD'とすることも可能だが、シングルクォートの場合、先述したように変数が展開されない。

14
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
6