PHP 構文に規則はありますか: 文字列を定義するときは、文字列を一重引用符または二重引用符で囲むか、記号を付けないでください。
例:
$x=123;
$z='123'; これらの 3 つの変数は同じですか?
ディスカッションへの返信 (解決策)
たとえば、 $x = "123";
echo $x*3;
結果は 369 です
getType() 関数を使用して型を確認できます
$x=123; このステートメントは $x に整数を代入します
http://bbs.csdn.net/topics/390535456
PHP は、記号なしでどのような型であるかをどのように判断するのでしょうか?
$x=123;
$x=abc; それらは同じ種類ですか?
$x = 123;
異議なし、残高は整数として扱われます
var_dump($x)
$x = abc;
PHP はまず、この abc が定数であるかどうかをチェックし、定数であれば、定数 abc の値を取得します
その後、文字列として解釈されます
echo gettype($x); // string
var_dump($x); //string(3) "abc"
xu もピンイン入力方法を使用しているのを見て、とてもうれしく思いました
$x = 123;
異論はありません。これはバランスのとれた積とみなされます。 整数
echo gettype($x); //int(123)
$x = abc; abc が定数であるかどうかを確認し、定数である場合は定数 abc の値を取得します
それ以外の場合は、警告を発行します 注意>: 未定義の定数 abc の使用 - 'abc' とみなされます
echo gettype($x ); //string
var_dump($x); //string(3) "abc" $x = 123; // 整数への自動型変換
$x = abc;文字列
そうですよね?
はっきり言いました
はっきり言いました
しかし、あまり明確ではありません!
「白か黒か」という考え方で理解しようと主張すると、本当に理解できません
phpの識別処理はこんな感じです
数字ですか?はい課題終了
それは定数ですか?はい、代入が終わりました
PHPでは文字型はシングルクォーテーション、変数値はダブルクォーテーションで書くのが一般的です
まず、ソースコードを書くのはテキスト文字の場合です。 PHP はソース コードを分析し、この文字規則を使用して対応するデータ形式を識別します。
$y="123"; //2
$z='123'; //3
PHP 分析の場合:
1 は代入ステートメントとして理解されます。 are = このテキスト文字の場合、左側の $x は変数識別子、右側は「123」という 3 つの連続するテキスト文字です。
最初のテキスト文字が数値であることを検出するには、int データ形式を使用して後続のテキスト文字を照合します (簡単に言えば、連続した数字で構成され、正規表現は d+ です)。変数はint型です。
これは、ソースコードを識別するPHPのロジックを学名で構文アナライザーと呼びます。 構文アナライザーを通過すると、変数がどのような型であるかがわかります。
PHP は弱い型指定言語であり、変数で型を宣言する必要はありません。
まず、ソースコードに記述されているのはテキスト文字です。PHPはソースコードを解析する際に、この文字の規則に従って対応するデータ形式を特定します。
$x=123; //1
$y="123"; //2
$z='123'; //3
PHP 分析の場合:
1 は代入ステートメントとして理解されます。 are = このテキスト文字の場合、左側の $x は変数識別子、右側は「123」という 3 つの連続するテキスト文字です。
最初のテキスト文字が数値であることを検出するには、int データ形式を使用して後続のテキスト文字を照合します (簡単に言えば、連続した数字で構成され、正規表現は d+ です)。変数はint型です。
2 簡単に言うと、「」で始まり「」で終わり、その前に「or」がない正規表現が「([^"]|\")+") と一致します。」文字列の型が一致するということです
これは、ソースコードを識別するPHPのロジックを学名で構文アナライザーと呼びます。 構文アナライザーを通過すると、変数がどのような型であるかがわかります。
3 番目のものを分析するにはどうすればよいですか?
例:
$x='a*12'; //はい
$x="a*12"; // 構文エラー。