ホームページ  >  記事  >  バックエンド開発  >  php は静的言語ですか、それとも動的言語ですか?

php は静的言語ですか、それとも動的言語ですか?

青灯夜游
青灯夜游オリジナル
2022-04-27 12:01:033711ブラウズ

php は動的言語です。 PHP は、動的で弱い型指定のスクリプト言語です。実行時にデータ型を決定し、変数を使用する前に事前に宣言する必要はありません。変数は、初めて値が割り当てられるときに自動的に作成されます。データPHP の type は無視できます。変数に値を割り当てるときに、その型を考慮する必要はありません。変数は、特定の値が割り当てられた後でのみ、特定の型を持ちます。

php は静的言語ですか、それとも動的言語ですか?

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

php は動的言語です。 。

php は、動的に型付けされた弱い型付けのスクリプト言語です。変数を使用する前に、事前に変数を宣言する必要はありません。変数は、初めて値が割り当てられるときに自動的に作成されます。変数に値を代入する場合、事前に宣言する必要はなく、その型を考慮する必要があり、変数は特定の値が代入されて初めて特定の型を持ちます。

<?php
$a = 1;
$b = "2";
$c = [1,3,4];
var_dump($a);
var_dump($b);
var_dump($c);
?>

php は静的言語ですか、それとも動的言語ですか?

したがって、変数の計算中に自動型変換が行われます。

PHP では、通常、異なる型の変数を混合して演算する場合に自動型変換が行われます。演算に関わる変数の型が異なる場合は、まず同じ型に変換してから、型を変換する必要があります。操作が実行されます。

通常、操作中に自動的に変換されるのは 4 つのスカラー型 (整数、浮動小数点、文字列、ブール値) と NULL のみです。自動型変換では変数自体の型は変更されず、変数の評価方法のみが変更されることに注意してください。

自動型変換はシステムによって自動的に完了しますが、混合操作中は、精度が低下しないように、自動型変換もデータ長の増加方向に従う必要があります。ルールを以下に示します。

php は静的言語ですか、それとも動的言語ですか?

  • ブール値が演算に含まれる場合、TRUE は整数型 1 に変換され、FALSE は整数型に変換されます。 0にして作戦に参加する。

  • NULL 値が操作に含まれる場合、NULL 値は操作が実行される前に整数タイプ 0 に変換されます。

  • 整数型と浮動小数点型の値が演算に含まれる場合、整数型の値を浮動小数点型に変換してから演算を実行します。

  • 文字列と数値 (整数、浮動小数点) の値が操作に関与する場合、文字列型はまず数値に変換されてから操作に参加します。変換後の数値は文字列から始まる数値列ですが、文字列から始まる数値列に小数点がない場合は整数型の値に変換されます。小数点がある場合は、float 型の値に変換されます。例: 文字列 "123ab" は整数 123 に変換され、文字列 "123.45ab" は浮動小数点数 123.45 に変換され、文字列 " abc」は整数 0 に変換されます。

【例】以下では、簡単な例を使用して、PHP での自動型変換を示します。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
$str = &#39;100abc&#39;;
$str += 5;
echo &#39;此时 $str 的类型为:&#39;.gettype($str).&#39;, 值为:&#39;.$str.&#39;<br>&#39;;
$str += 3.14;
echo &#39;此时 $str 的类型为:&#39;.gettype($str).&#39;, 值为:&#39;.$str.&#39;<br>&#39;;
$str = null + &#39;C语言中文网&#39;;
echo &#39;此时 $str 的类型为:&#39;.gettype($str).&#39;, 值为:&#39;.$str.&#39;<br>&#39;;
?>

php は静的言語ですか、それとも動的言語ですか?

拡張知識: 動的言語と静的言語の概要と違い

動的言語 (弱い型付け言語)データ型のみを決定する言語では、変数を使用する前にその型を宣言する必要はなく、通常、変数の値は、その変数に代入される値の型になります。 Php、Asp、JavaScript、Python、Perl など。

$a = 1;
$b = "2";
$c = [1,3,4];

静的言語 (厳密に型指定された言語) は、コンパイル時に変数のデータ型を決定できる言語です。ほとんどの静的言語では、変数を使用する前にデータ型を決定する必要があります。 Java、C、C、C# など。

String s="hello";    //String 类型的变量
boolean b=true;    //boolean 类型的变量
int i=0;    //int 类型的变量

弱い型指定言語は、データ型を無視できる言語です。これは、変数にさまざまなデータ型の値を割り当てることができる、厳密に型指定された言語とは逆です。変数の型はコンテキストによって決定されるため、より効率的です。

厳密に型指定された言語は、データ型を強制的に決定する必要がある言語です。変数に特定のデータ型が割り当てられると、強制的に変換されなければ、常にそのデータ型になります。変数の型は宣言時に決定されるため、より安全です。

相違点:

  • データ型の宣言が必須であるため、静的言語を使用すると、開発ツール (IDE) がコードを判断する強力な機能を持つことができます。複雑なビジネス ロジックを実装し、ライフサイクルが長い大規模な商用システムやアプリケーションを開発する場合、開発者は強力な IDE を利用して、より効率的かつ安全に開発できます。

  • 動的言語思考は制約されず、自由に使用でき、製品自体に重点を置き、ビジネス ロジックの実装について考えることに重点を置き、思考プロセスが実装プロセスになります。

推奨学習: 「PHP ビデオ チュートリアル

以上がphp は静的言語ですか、それとも動的言語ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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