boolean | 論理値 | 真偽の値。 | TRUE または FALSE のどちらか |
integerまたはint | 整数 | 0、正負の整数の値。 10 進数、16 進数、8 進数などの区別によらない | …,-2, -1, 0, 1, 2,… |
floatまたはdouble | 浮動小数点数 | 小数を含む実数の値。 | 1.234など |
PHPにはない | 文字 | 1バイト文字。(1文字) | あ,a |
string | 文字列 | 文字の集まり。 1バイト文字の集合。 | あいうえ,abcd |
array | 配列 | 値の集合で、添え字でインデックスされたもの。 | a[1], a["name"], array("a","b","c"), array("name"=>"cherry","kind"=>"fruit") |
object | オブジェクト | オブジェクト。 | $bar = new foo; |
resource | リソース | fopen(), ftp_connect()などで代入されるリソース。 ハンドルとも言われる。 | $fp=fopen(); |
NULL | ヌル | 空の値。 | NULL |
浮動小数点数
少数はパソコン内では2進数に変換して考えられるので、小数を含む計算はどんなに簡単でも信頼はできません。
比較もアテになりません。
四則演算の順番によって値が変わりますし、計算速度も違います。
例:
0.1×10+0.7×10と(0.1+0.7)×10が同じ値とは限りません。
答えが8とも限りません。(7.999999…となったりします。)
CSSなどでfloatするときwidth:47%とwidth:53%の領域の幅が100.1%になったりすることもあります。
ブラウザの表示計算はクライアントパソコンに依存するのでintel系CPUとAMD系CPUで数値が違ったりします。
文字列
言葉の通り『文字』の『列』ですから、『文字の集まり』を表します。
たまに文字を出力しようとして先頭の1文字しか出力されないことがありますが、それはどこかで文字列型が文字型に変換されているためです。
PHPではstrstr(strchr)は文字列、strrchrは文字を検索します。
strchr(【検索対象文字列】,【文字列】)
検索対象中に文字列が最初に現れる以降の文字列を返す。
strrchr(【検索対象文字列】,【文字】)
検索対象中に文字が最後に現れる以降の文字列を返す。
文字列を検索しても先頭1文字しか探さない。