ホームページ >バックエンド開発 >PHPチュートリアル >PHPの型変換 php7 PHP環境構築 PHP入門から習熟まで

PHPの型変換 php7 PHP環境構築 PHP入門から習熟まで

WBOY
WBOYオリジナル
2016-07-29 08:55:171012ブラウズ

phpは弱い型付け言語であり、演算中に演算子に合わせて演算子が処理できるデータに変換されます。

1. 自動変換

  1. if($a |number) { . 。 。 } //if内の変数や数値は自動的にブール値に変換されます
  2. 算術演算子はデータを数値処理に変換します
<code><span>$a</span> = <span>"3"</span>;
<span>$b</span> = <span>"5"</span>;
<span>$c</span> = <span>$a</span> + <span>$b</span> ;
var_dump(<span>$c</span>);<span>//</span><span>8</span>  integer
</code>
<code>3.  连接运算符. 转成字符串类型
</code>
<code><span>$str</span> = <span>'123'</span>.<span>true</span>.<span>'abc'</span>;<span>//</span><span>1231</span>abc string </code>
<code>4. 比较运算符,分几种情况
</code>

①2つの数値の比較 - 通常の状況
②いずれかのデータがブール型の場合、すべてブール型に変換して true>false を比較します
③データにブール型が存在しないが、データのいずれかが数値の場合は、数値に変換して比較します
④両辺が数値列なので数値に変換して比較します
⑤比較演算子の両辺は文字列型で、先頭文字から順に比較し、値が大きい場合は以降の比較を停止します。

いくつかの変換ルール:
「12」 – > 12
「1.2」 –> 1.2
「1.2a」- –> 1.2
「a1.2」 —> 0
「1.1a1」 —> 1.1
「0」—> false
「1」 —> true
0 —> 偽
「0.0」 —> true
「abc」 —> 0
"" —> 0
"" - >false

<code><span><span><?php </span>header(<span>"content-type:text/html;charset=utf-8"</span>);
<span>$name</span> = <span>"tom"</span>;
<span>if</span>(<span>$name</span>)
{
    <span>echo</span><span>'$name为真'</span>.<span>'<hr>'</span>;
}<span>else</span>
{
    <span>echo</span><span>'$name为假'</span>.<span>'<hr>'</span>;
}



<span>//1.在算数运算符中的类型转换 :会转换成数字进行计算</span><span>$a</span>  = <span>"1.1"</span>;<span>//"1.1a" 会转换成1.1 , "a1.1"会转换成0</span><span>$b</span>  = <span>"7"</span>;

<span>$c</span> = <span>$a</span> + <span>$b</span> ;
<span>echo</span><span>$c</span>,<span>" "</span>,getType(<span>$c</span>),<span>'<hr>'</span>;<span>//12 double</span><span>//连接运算符.其结果是字符串类型</span><span>$a</span> = <span>5</span>;
<span>$b</span> = <span>true</span>;<span>// true 转换为 1 ,  false 转换成 0</span><span>$c</span> = <span>$a</span>.<span>$b</span> ;
<span>echo</span><span>$c</span>,<span>" "</span>,getType(<span>$c</span>),<span>'<hr>'</span>;<span>//51 string</span><span>//比较运算符,其结果一定是true或false</span><span>$a</span> = <span>false</span> ;

<span>$b</span> = <span>5</span>;

<span>//如果两边至少一个布尔值,则把非布尔值数据转为布尔值比较,其结果类型也是布尔</span><span>$c</span> = (<span>$a</span> $b</span>);<span>//这里$b转为true , $c = false <span>echo</span><span>$c</span>,<span>" "</span>,getType(<span>$c</span>),<span>'<hr>'</span>;<span>//1 boolean</span><span>//比较运算符中,两边不存在布尔类型但存在数字,则都转为数字类型比较</span><span>$a</span> = <span>5</span> ;
<span>$b</span> = <span>"abc"</span>;<span>//$b 要转为数字比较,这里为0 </span><span>$c</span> = (<span>$a</span> > <span>$b</span>);
<span>echo</span><span>$c</span>,<span>" "</span>,getType(<span>$c</span>),<span>'<hr>'</span>;<span>//1 boolean</span><span>//比较运算符中两边都是字符串类型</span><span>$a</span> = <span>"abc"</span> ;
<span>$b</span> = <span>"abd"</span>;
<span>$c</span> = (<span>$a</span> $b</span>);<span>//从首个字符开始依次比较ASCII值,哪个大就停止后续比较</span><span>echo</span><span>$c</span>,<span>" "</span>,getType(<span>$c</span>),<span>'<hr>'</span>;<span>//1 boolean</span></span></code>

2. 強制変換

<code><span>$a</span> = <span>11.5</span>;
<span>$b</span> = (int)<span>$a</span>;<span>//强制转换成int赋值给$b</span><span>echo</span><span>$a</span>.<span>" 类型:"</span>.getType(<span>$a</span>).<span>'<hr>'</span>;<span>//11.5 类型:double</span><span>echo</span><span>$b</span>.<span>" 类型:"</span>.getType(<span>$b</span>).<span>'<hr>'</span>;<span>//11.5 类型:double</span><span>$c</span> = (string)<span>$a</span>;
<span>echo</span><span>$c</span>.<span>" 类型:"</span>.getType(<span>$c</span>).<span>'<hr>'</span>;<span>//11.5 类型:11.5 类型:string</span><span>$d</span> = (boolean)<span>$a</span>;
<span>echo</span><span>$d</span>.<span>" 类型:"</span>.getType(<span>$d</span>).<span>'<hr>'</span>;<span>//1 类型:boolean</span><span>$e</span> = (float)<span>$b</span>;<span>//强制转换成浮点数</span><span>echo</span><span>$e</span>.<span>" 类型:"</span>.getType(<span>$e</span>).<span>'<hr>'</span>;<span>//11 类型:double</span>setType(<span>$c</span>,<span>"float"</span>);
<span>echo</span><span>$c</span>.<span>" 类型:"</span>.getType(<span>$c</span>).<span>'<hr>'</span>;<span>//11.5 类型:double</span></code>

3. 型関連関数

  1. var_dump(): 変数の完全な情報を出力
  2. getType(): 変数の型名を取得, 戻り値は型名の文字列です
  3. setType(variable, "target class type"); 変数​​の型を設定します
  4. isset() 変数が存在し、値が NULL でない場合は TRUE を返し、それ以外の場合は FALSE を返します。
  5. emptyは変数データが​​空かどうかを決定します
  6. unset()は変数を破棄します
  7. is_int()
  8. is_numeric() —1、1.2、"1.2"、"12"はすべてtrueです
  9. is_array() is_scalar—基本データ型: string float int boolean
  10. is_null — 変数が NULL かどうかを確認します

PHPの型変換 php7 PHP環境構築 PHP入門から習熟まで

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

上記では、PHP のコンテンツも含めて PHP の型変換について紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。