この記事では、基本的なデータ型、変数型、演算子など、学習を始める際に触れるであろうPHP学習の最も基本的な内容を詳しく紹介します。
-
PHP でサポートされている基本的なデータ型:
整数:整数
Float (Double、倍精度値): すべての実数を表す浮動小数点数
文字列: 文字列
ブール値: ブール値、true/false
配列: 同じタイプの複数のデータ項目を保存します
オブジェクト: オブジェクト、クラスのインスタンスを保存します
NULL: 値が割り当てられていない変数、リセットされた変数、または特別な値 NULL が割り当てられている変数
特定の組み込み関数 (データベース関数など) は、リソース型の変数を返します
4 つのスカラー型:
文字列(文字列)
integer(整数型)
float (浮動小数点型、double とも呼ばれます)
boolean (ブール型)
2 つの複合タイプ:
配列(配列)
オブジェクト
2 つの特別なタイプ:
リソース
ヌル
変数の型を表示する
gettype() 関数を使用して変数の型を簡単に確認できます。
コードは次のとおりです
$var_bool = TRUE // ブール値
;
$var_str = "foo" // 文字列
;
$var_int = 12 // 整数
echo gettype($var_bool); // 出力 boolean
echo gettype($var_str); // 出力文字列
echo gettype($var_int); // 整数を出力します
?>
ヒント
歴史的な理由により、データが float 型の場合、gettype() 関数は float ではなく double を返します。
式の値と型を確認したい場合は、var_dump() 関数を使用します。
変数の型を決定する
変数の型を判断して次の論理アクションを決定したい場合は、gettype() を使用せず、is_type 一連の関数を使用してください。
$var_int = 12;
if (is_int($var_int)) {
$var_int = $var_int+4;
}
echo $var_int; // 出力 16
?>
NULL と resource はどちらもデータベース接続などの外部リソースを表します
基本的に、リソース変数を直接操作することはできませんが、通常、リソース変数は関数によって返され、パラメータとして他の関数に渡す必要があります。
PHP は、変数に格納されている値に基づいていつでも変数の型を決定できます。これは、変数の型をいつでも透過的に変更できることを意味します。
PHP は入力のデータ型を「自動的に」取得し、変数から変数値を取得すると、同じデータ型のデータを返します。
習慣にしましょう: 定数名は大文字で構成されます。これにより、変数と定数を区別しやすくなります。
定数と変数の重要な違いは、定数を参照する場合、その前に $ 記号がつかないことです。
定数と変数のもう 1 つの違いは、定数はブール、整数、浮動小数点、または文字列データ (すべてスカラー データ型) のみを保持できることです。
PHP では、宣言された変数で変数の型を指定する必要はありません (またはサポートしません)。変数の型は、変数が使用されるコンテキストによって決まります。つまり、変数 var に文字列を代入する場合です。 var は文字列変数になります。 var に整数を代入すると、整数変数になります。 PHP が変数の型を自動的に変換する例としては、加算演算子「+」があります。いずれかのオペランドが double の場合、すべてのオペランドが double として評価され、結果も double になります。 それ以外の場合、オペランドは整数とみなされ、結果は整数になります。これは各オペランド自体の変数タイプには影響せず、唯一の変更は計算中のオペランドの処理方法であることに注意してください。 $foo = "0"; // $foo は文字列で、値は "0" (ASCII 48) です
コードは次のとおりです
$foo = "http://www.hzhuti.com/HTC/G11/"; // $foo は文字列で、値は "0" (ASCII 48) です
$foo++; // $foo は文字列で、値は "1" (ASCII 49) です
$foo += 1; // $foo は整数 (2) になります
$foo = $foo + 1.3; // $foo は double (3.3) になります
$foo = 5 + "10 Little Piggies" // $foo は整数 (15) です
$foo = 5 + "10 匹の小さな豚" // $foo は整数 (15) です
上記の例の最後の 2 つの式が少し奇妙に見える場合は、「文字列変換」セクションを参照してください。 変数を強制的に固定型として評価したい場合は、「キャスト」セクションを参照してください。変数の型を変更したい場合は、関数「settype()」の説明を参照してください。
変数の型を決定する
PHP は変数の型をそれ自体で決定し、通常は必要に応じてそれらを変換するため、特定の変数の型が常に明らかであるとは限りません。 PHP には、この変数の型を調べる関数が含まれています。これらの関数は、gettype()、is_long()、is_double()、is_string()、is_array()、および is_object() です。
型キャスト
PHP での型強制は C 言語とほぼ同じです。強制される変数の前に必要な型を括弧内に記述します。
コードは次のとおりです
$foo = 10 // $foo は整数です
;
$bar = (double) $foo // $bar は倍精度数値
;
次の強制メソッドが許可されます: (int)、(integer) - 整数 (実数)、(double)、(float) に強制変換 - 倍精度に強制変換 (文字列) - 文字列 (配列) に強制変換 - 配列 (オブジェクト) に強制変換) – オブジェクトに強制されます。括弧内ではタブとスペースを使用できるため、次のステートメントは同等であることに注意してください。 $foo = (int) $bar;
文字列変換
文字列が数値として評価される場合、その結果と型は以下のように決定されます。 この文字列に文字「.」、「e」、または「E」が含まれている場合は double 型の変数として扱われ、それ以外の場合は整数として扱われます。 この文字列の値はプレフィックスによって決まります。文字列が有効な数値データで始まる場合、その数値データが文字列の評価の対象となる値となります。それ以外の場合、値はゼロです。有効な数値データは次の表記に従い、その後に 1 つ以上の数字 (小数点を含む場合があります)、その後にオプションの指数が続きます。指数は、1 つ以上の数字の後に「e」または「E」が続くことで形成されます。
コードは次のとおりです
$foo = 1 + "10.5" // $foo は倍精度数 (11.5) です
$foo = 1 + "-1.3e3"; // $foo は倍精度数 (-1299) です
$foo = 1 + "bob-1.3e3" // $foo は整数 (1) です
$foo = 1 + "bob3" // $foo は整数 (1) です。
$foo = 1 + "10 匹の小さな豚" // $foo は整数 (11) です
$foo = 1 + "10 Little Piggies" // $foo は整数 (11);
// この文字列には文字「e」が含まれています
識別子
オペレーター:
2) 算術演算子: +、-、*、/、% (モジュロ)
4) 結合代入演算子: +=、*=、/=、-=、%=、.=
5) 自動的に増加および減少:
(1) $variable+=1 ⇔$variable++; $variable-=1 ⇔$variable- は、C 言語と同じように、最初に他の演算を実行してから、++ または -
(2)++$variable、-$variable、最初に ++ または -、その後他の操作を実行します
6) 比較演算子:
= = (左辺と右辺が等しい)、! = (左辺と右辺は等しくない)、
= = = (左辺と右辺は等しく、データ型は同じです)、
>=、>、<、<=7) 論理演算子: || or、&&、xor (左辺と右辺の一方のみが true の場合、true を返す)、!
参考表
演算子 (算術演算子) 演算子
記号の説明
記述例
症例結果
結果
+追加
プラス記号 x=2
x+2 4
- 引き算
マイナス記号 x=2
5-x 3
*掛け算
乗算記号 x=4
×*5 20
/ 部門
ディビジョンサイン 15/5
5/2 3
2.5
% モジュラス (除算の余り)
係数 (剰余) 5%2 を求めます
10%8
10%2 1
2
0
++増分
x=5を追加します
x++ x=6
-- デクリメント
x=5 をデクリメントします
x-- x=4
代入演算子
代入演算子
オペレーター
記号の例
ケースは
と同じです
に相当
= x=y x=y
+= x+=y x=x+y
-= x-=y x=x-y
*= x*=y x=x*y
/= x/=y x=x/y
%= x%=y x=x%y
比較演算子
比較演算子
オペレーター
記号の説明
詳細な説明例
ケース
== は
に等しい
5==8 に等しい場合は false を返します
!= は等しくない
5 に等しくない!=8 は true を返します
> より大きいです
5>8 より大きい場合は false を返します
< 未満です
5<8 未満の場合は true を返します
>= は
以上です
5>=8 以上の場合は false を返します
<= は以下です
5
論理演算子
論理演算子
オペレーター
記号の説明
記述例
ケース
&&そして
x=6 の場合
y=3
(x 1) は true を返します
|| または
または x=6
y=3
(x==5 || y==5) は false を返します
違う
x=6ではありません
y=3
!(x==y) は true を返します
他の演算子:
三項演算子、エラー抑制演算子、実行演算子、配列演算子、型演算子
演算子「?」の前の式
二項演算子を含む式が三項演算子「? :」の「?」の前にある場合は、その式に括弧のペアを追加する必要があります。例:
(x >= 0) x : -x;
簡単なものを見てみましょう?数値式の例
コードは次のとおりです
$a='http://www.zhutiai.com/zhuti/c7/';
echo $a?'true':'false';
出力結果はtrur;
また会いましょう
if( $a )
{
echo 'true';
}
その他
{
エコー 'false';
}