この記事では、基本的なデータ型、変数型、演算子など、PHP学習における最も基本的な内容を詳しく紹介します。
-
PHP でサポートされている基本データ型:
Integer: 整数
Float (Double、倍精度値): 浮動小数点数、すべての実数を表す
String: 文字列
Boolean: ブール値、true/false
Array: 保存同じタイプの複数のデータ項目
Object: オブジェクト、クラスのインスタンスを保存します
NULL: 割り当てられていない、リセットされた、または特別な値 NULL が割り当てられている変数
特定の組み込み関数 (データベース関数など) ) リソースタイプ変数を返します
4 つのスカラー型:
string (文字列)
integer (整数)
float (浮動小数点型、double とも呼ばれます)
boolean (ブール値)
2 つの複合型:
array (配列)
object (オブジェクト)
2 つの特殊なタイプ:
resource (リソース)
NULL (空)
変数の型を表示する
gettype() 関数を通じて変数の型を簡単に確認できます:
コードは次のとおりです
$var_bool = TRUE; // a boolean
$var_str = "foo" // a string
$var_int = 12;
echo gettype($var_str); // 出力 string
echo gettype($var_int); // 出力 integer
?>
歴史的な理由により、float 型データの場合、gettype() 関数は float ではなく double を返します。
式の値と型を表示したい場合は、var_dump() 関数を使用してください。
変数の型を決定する
変数の型を判断して次の論理アクションを決定したい場合は、gettype() を使用せず、is_type 一連の関数を使用します。
コードは次のとおりです コードをコピーします
$var_int = $var_int+4;
}
echo $var_int; // 出力 16
?>
NULL と resource はどちらもデータベース接続などの外部リソースを表します
基本的に、リソース変数は直接操作できませんが、通常は関数によって返され、パラメーターとして他の関数に渡す必要があります。
PHP では、変数の型は、変数に割り当てられた値によって決まります。 (動的型言語)
PHP は入力のデータ型を「自動的に」取得し、変数から変数値を取得すると、同じデータ型のデータを返します。
習慣にする: 定数名は大文字で構成されます。これにより、変数と定数を区別しやすくなります。
定数と変数の重要な違いは、定数を参照する場合、その前に $ 記号がないことです。
定数と変数のもう 1 つの違いは、定数はブール値、整数、浮動小数点数、または文字列データのみを格納でき、これらの型はすべてスカラー データであることです。
変数の型変更 (ジャグリング)
PHPコード
コードは次のようにコピーされます
$foo = "http://www.hzhuti.com/HTC/G11/"; // $foo は文字列で、値は "0" (ASCII 48) です
$foo++; // $foo は値「1」を持つ文字列 (ASCII 49)
$foo += 1; // $foo は整数 (2) になります
$foo = $foo + 1.3;倍精度数値 (3.3)
$foo = 5 + "10 Little Piggies"; // $foo は整数 (15)
$foo = 5 + "10 Small Pigs"; // $foo は整数 ( 15) )
上記の例の最後の 2 つの式が少し奇妙に見える場合は、「文字列変換」セクションを参照してください。 変数を強制的に固定型として評価したい場合は、「キャスト」セクションを参照してください。変数の型を変更したい場合は、関数「settype()」の説明を参照してください。
変数の型の決定
PHP は変数自体の型を決定し、通常は必要に応じてそれらを変換するため、特定の変数の型が常に明らかであるとは限りません。 PHP には、この変数の型を調べる関数が含まれています。これらの関数は、gettype()、is_long()、is_double()、is_string()、is_array()、および is_object() です。
型キャスト
PHP での型キャストは、C 言語の場合とほぼ同じです。必要な型が記述されます。強制される変数の前の括弧内。
PHPコード
コードは次のとおりです コードをコピーします
$foo = 10 // $foo は整数です
$bar = (double) $foo; // $bar は倍精度数です
次の強制メソッドが許可されます: (int)、(integer) - 整数 (実数)、(double)、(float) への強制 - 倍精度数値 (文字列) への強制 - 文字列 (配列) への強制 - への強制array (object) - オブジェクトへの強制 括弧内ではタブとスペースを使用できるので、次のステートメントは同等であることに注意してください: $foo = (int) $bar; $foo = ( int ) $bar;は数値として計算され、その結果と型は以下のように決定されます。 この文字列に文字「.」、「e」、または「E」が含まれている場合は double 型の変数として扱われ、それ以外の場合は整数として扱われます。 この文字列の値はプレフィックスによって決まります。文字列が有効な数値データで始まる場合、その数値データが文字列の評価の対象となる値となります。それ以外の場合、値はゼロです。有効な数値データは次の表記に従い、その後に 1 つ以上の数字 (小数点を含む場合があります)、その後にオプションの指数が続きます。指数は、1 つ以上の数字の後に「e」または「E」が続くことで形成されます。
PHPコード
コードは次のようにコピーされます
$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 Small Pigs"; // $foo は整数 (11)
$foo = 1 + "10 Little Piggies"; // $foo は整数 (11) です。 「え」
識別子
演算子:
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
* 乗算 乗算符号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
比較演算子
比較演算子
演算子
シンボルの説明
具体的な説明例
ケース
== は等しい
!= は等しくない
5 に等しくない!=8 true を返す
> はより大きい
<は小さいです
5<8 は true を返します
>= は以上です
5 より大きい>=8 は false を返します
<= は以下ですto
5<=8以下はtrueを返します
論理演算子
論理演算子
演算子
シンボルの説明
例
の場合
&& and
y=3
(x < 10 && y > 1) は true を返します
or x=6
y=3
(x==5 || y==5) は false
を返します! not
x=6
y=3
ではありません!(x==y) は true
を返します
その他のオペレーター:
三項演算子、エラー抑制演算子、実行演算子、配列演算子、型演算子
演算子「?」の前の式
二項演算子を含む式が三項演算子「? :」の「?」の前にある場合は、その式に括弧のペアを追加する必要があります。例:
(x >= 0) x : -x;
簡単なものを見てみましょう?数値式の例
$a='http://www.zhutiai.com/zhuti/c7/';
echo $a?'true':'false';
また会いましょう
if( $a )
{
echo 'true';
}
その他
{
エコー 'false';
}
http://www.bkjia.com/PHPjc/1109452.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/1109452.html
技術記事