「PHP/入門/変数と値」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
→‎define(): const が使えるのであれば、define()は使うべきではありません。
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
→‎リテラル: リテラルとは、ハードコードされた値のことです。リテラルはスクリプトの中で特定の値を表現する手段となります。例えば代入の右辺には次のようなものがあります。→‎型と型名とリテラル: PHPの型と型名とリテラルの例を示します。
タグ: 2017年版ソースエディター
167 行
::とはいうものの、PHPは、演算子・関数・コマンドが多分に曖昧で、公式のドキュメントでも混用が見られます。
::なにか型ジャグリングと通じるものがありますね。
 
== リテラル ==
リテラルとは、ハードコードされた値のことです。リテラルはスクリプトの中で特定の値を表現する手段となります。例えば代入の右辺には次のようなものがあります。
 
;[https://paiza.io/projects/e7yqBTBmEUw1XJJNToL6qw?language=php 文字リテラルの例]:<syntaxhighlight lang=php>
<?php
$myLiteral = "a fixed value";
var_dump($myLiteral);
?>
</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
string(13) "a fixed value"
</syntaxhighlight>
: リテラルにはいくつかの種類があります。最も一般的なのは文字列リテラルですが、他にも整数や浮動小数点のリテラル、論理値のリテラル、配列や連想配列のリテラルなどがあります。
 
;[https://paiza.io/projects/e7yqBTBmEUw1XJJNToL6qw?language=php 連想配列リテラルの例]:<syntaxhighlight lang=php>
<?php
$myHash = [
'name' => 'value',
'anotherName' => 'anotherValue',
];
var_export($myHash);
?>
</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
array (
'name' => 'value',
'anotherName' => 'anotherValue',
)
</syntaxhighlight>
 
=== 型と型名とリテラル ===
PHPの型と型名とリテラルの例を示します。
:{| class="sortable wikitable"
|+ PHPの型と型名とリテラル
|-
! 種類 !! 型 !! 型名 !! リテラル !! 説明
|-
! 数値 !! 整数 !! int
| <syntaxhighlight lang=php><?php
123, // 10進数
0123, // 8進数
0o123, // 8進数
0xbadbeef, // 16進数
0b01011100, // 2進数
1_234_567; // _ で区切られた10進数
?></syntaxhighlight>
|
*整数型は、10進数・8進数・16進数・2進数のいずれかです。
*読みやすさのために、_(アンダースコアー)を挿入できます。
**先頭と末尾には挿入できません。
**2つ以上続けて _ を挿入することもできません。
*歴史的な理由で、integer と表現される場合があります。
|-
! 数値 !! 浮動小数点数 !! int
| <syntaxhighlight lang=php><?php
1.23, // 小数表現
1.1234e-4, // 指数表現
1E99, // 指数表現
2.345_670_898e4, // _ で区切られた指数表現
Inf, // 無限大
-Inf; // 負の無限大
NAN; // 非数
?></syntaxhighlight>
|
*浮動小数点数型は、ISO/IEC/IEEE 60559:2011のPHP実装です。
*歴史的な理由で、double と表現される場合があります。
|-
! 文字列 !! 文字列 !! string
| <syntaxhighlight lang=php><?php
$a = "XYZ"
'abc def $a', // ⇒ ’abc def $a’
"abc def $a"; // ⇒ ’abc def XYZ’
 
$b = <<<EOS
123
abc
\r\n
EOS;
 
$c = <<<'EOS'
123
abc
\r\n
EOS;
?>
</syntaxhighlight>
|
*文字列型は一連の文字です。
*1 文字は 1 バイトと同じです。
*:つまり、PHP は 256 文字の文字集合しかサポートいません。
*::ネイティブの Unicode サポートはありません。
|-
! 配列 !! 配列 !! array
| <syntaxhighlight lang=php><?php
$ary = [1,2,3]; // ブラケット表現
$ary = array(1,2,3); // array()表現
?>
</syntaxhighlight>
|
*配列型は、任意の型の値を順序付けて保持します。
|-
! 連想配列 !! 連想配列 !! array
| <syntaxhighlight lang=php>
<?php
# ブラケット表現
$ary = [
"a" => 1,
"b" => 2,
"c" => 3,
];
 
# array()表現
$ary = array(
"a" => 1,
"b" => 2,
"c" => 3,
);
?>
</syntaxhighlight>
|
*連想配列型は、整数または文字列のキーと任意の値のペアを順序なく保持します。
*:キーの重複は許されません。
|}
 
== 定数 ==