データ・型¶
はじめに¶
本サイトにつきまして、【IT技術の知見】はじめに - 俺の技術ノート をご認識のほど宜しくお願いいたします。
01. プリミティブデータ型¶
プリミティブ型¶
▼ プリミティブ型とは¶
スカラー型、複合型、その他、に分類できる。
以下のリンクを参考にせよ。
スカラー型¶
▼ bool¶
| T/F | データの種類 | 説明 |
|---|---|---|
FALSE |
$var = |
何も格納されていない変数 |
False |
文字としての False | |
0 |
数字、文字列 | |
"" |
空文字 | |
| array() | 要素数が 0 個の配列 |
|
| NULL | NULL 値 | |
TRUE |
上記以外の値 |
▼ float¶
▼ int¶
▼ string¶
複合型¶
▼ array¶
▼ callable¶
▼ iterable¶
▼ object¶
<?php
class A
{
private string $name = "Hiroki";
public function HelloWorld(): string
{
return sprintf(
"%s, %s",
$this->name,
"Hello World!"
);
}
}
$a = new A;
var_dump($a);
// object(A)#1 (1) {
// ["name":"A":private]=>
// string(6) "Hiroki"
//}
print_r($a);
// A Object
// (
// [name:A:private] => Hiroki
// )
その他のデータ型¶
▼ date¶
厳密にはデータ型ではないが、便宜上、データ型とする。
タイムスタンプとは、協定世界時(UTC)を基準にした 1970 年 1 月 1 日の 0 時 0 分 0 秒からの経過秒数を表したもの。
| フォーマット | 実装方法 | 備考 |
|---|---|---|
| 日付 | 2019-07-07 | 区切り記号なし、ドット、スラッシュなども可能 |
| 時間 | 19:07:07 | 区切り記号なし、も可能 |
| 日付と時間 | 2019-07-07 19:07:07 | |
| タイムスタンプ (秒) | 1562494027 | 1970 年 1 月 1 日の 0 時 0 分 0 秒から 2019-07-07 19:07:07 までの経過秒数 |
▼ null¶
▼ resource¶
02. データ型の判定/変換¶
判定関数¶
▼ is_scalar()¶
スカラー型 (bool、float、int、string) を判定する。
キャスト演算子¶
▼ (string)¶
<?php
$var = 10; // $varはinteger型。
// キャスト演算子でデータ型を変換
$var = (string) $var; // $varはstring型
▼ (int)¶
<?php
$var = 1;
// integer型
$var = (int) $var;
// 1
▼ (bool)¶
<?php
$var = 1;
// boolean型
$var = (bool) $var;
// true
▼ (float)¶
<?php
$var = "1.0";
// Float型
$var = (float) $var;
// 1.0
▼ (array)¶
<?php
// 配列型
$var = (array) $var;
▼ (object)¶
<?php
// Object型
$var = (object) $var;
03. list() 関数¶
list() 関数とは¶
PHP の list() 関数は、List 型とは意味合いが異なる。
配列の個々の要素を変数に格納したい場合、List 型を使用しなければ、冗長ではあるが、以下のように実装する必要がある。
<?php
$array = array("あ", "い", "う");
$a = $array[0];
$i = $array[1];
$u = $array[2];
echo $a.$i.$u; // あいう
しかし、以下のように、list() 関数を使用することによって、複数の変数への格納を1行で実装できる。
<?php
list($a, $i, $u) = array("あ", "い", "う");
echo $a.$i.$u; // あいう