カタログ [1] 変数 変数定義 変数の割り当て [2] データ型 文字列 整数 浮動小数点数 ブール配列オブジェクト NULL リソース [3] スコープ globalstatic
変数は情報を格納するためのコンテナです、$ 記号で始まり、変数名が続きます。変数名は文字またはアンダースコアで始まる必要があり、大文字と小文字が区別されます
<?php$x=5;//5echo $x;//什么都不输出echo $X;?>
PHP には変数を作成するコマンドがありません。変数は最初に値が割り当てられたときに作成されます
<?php$txt="Hello world!";$x=5;$y=10.5;?>
PHPは緩やかに型付けされた言語であるため、PHP に変数のデータ型を伝える必要はありません。PHP は、その値に基づいて変数を正しいデータ型に自動的に変換します。 PHP データ型には、4 つのスカラー型、2 つの複合型、および 2 つの特殊型を含む 8 つの型が含まれます。具体的には: 文字列、整数、浮動小数点数、ブール値、配列、オブジェクト、NULL、リソース
[注] var_dump() は変数のデータ型と値を返します
文字列は引用符で囲まれたものであれば何でも構いません テキスト、引用符は単一引用符または二重引用符にすることができます
<?php $x = "Hello world!";//Hello world!echo $x;echo "<br>"; $x = 'Hello world!';//Hello world!echo $x;?>
<ケース 1> 文字列に引用符が含まれる場合、次の 3 つの解決策があります:
[1] 単一引用符に埋め込まれた二重引用符
[2] 二重引用符に埋め込まれた単一引用符
[3] エスケープ文字 "" を使用します
<?php $str_string1 = '"test"';$str_string2 = "'test'";$str_string3 = '\'test\'';echo $str_string1;echo "<br />";echo $str_string2;echo "<br />";echo $str_string3;?>
<ケース 2>文字列の引用符が変数に遭遇する場合、2 つの状況があります:
[1] 変数が二重引用符で囲まれている場合、変数は二重引用符で囲まれた内容と連結してください
[2] 変数が単一引用符で囲まれている場合、変数は文字列として出力されます
<?php $test = 1;$str_string1 = ' $test ';$str_string2 = " $test ";$str_string3 = ' "$test" ';$str_string4 = " '$test' ";echo $str_string1;//$testecho "<br />";echo $str_string2;//1echo "<br />";echo $str_string3;//"$test"echo "<br />";echo $str_string4;//'1'?>
<ケース 3> 文字列が非常に長い場合は、ヒアドキュメント構造メソッドを使用します、最初に区切り文字が文字列 (<<<) を表し、次に識別子 (任意の名前) が (<<<<) の後に指定され、改行の後に文字列が続き、最後にこの識別子の終了文字列が続きます。識別子の前後に余分なスペースが入らないように注意してください。
<?php $str = <<< G123G;echo $str;//123?>
PHP 整数には、少なくとも 1 桁の数字が必要で、カンマやスペースを含めることはできません。小数点は使用できません。正または負の値を指定でき、整数は次の 3 つの形式で指定できます。 10進数、16進数 基数(接頭辞は0x)または8進数(接頭辞は0)
<?php $x = 5985;//int(5985)var_dump($x);echo "<br>"; $x = -345; // int(-345)var_dump($x);echo "<br>"; $x = 0x11; // int(17)var_dump($x);echo "<br>";$x = 011; // int(9)var_dump($x);?>
PHP浮動小数点数は小数点または指数形式の数値です
<?php $x = 10.365;//float(10.365)var_dump($x);echo "<br>"; $x = 2.4e3;//float(2400)var_dump($x);echo "<br>"; $x = 8E-1;//float(0.8)var_dump($x);?>
PHP Boolean type には true または false (大文字と小文字は区別されません) の 2 つの値しかなく、条件テストによく使用されます。 echoコマンドを使用してBoolean型を出力する場合、trueの場合は「1」が出力され、falseの場合は何も出力されません
<?php $man = "男"; $flag = $man == "男";//输出1 echo $flag ; echo "<br />" ; $flag = $man == "女";//什么都不输出 echo $flag; var_dump($flag);//bool(false)?>
PHPの配列は1つの変数に複数の値を格納できます
<?php $cars=array("Volvo","BMW","SAAB");//array(3) { [0]=> string(5) "Volvo" [1]=> string(3) "BMW" [2]=> string(4) "SAAB" }var_dump($cars);?>
PHP オブジェクトは、データとそのデータの処理方法に関する情報を格納するデータ型です。 PHP では、オブジェクトを明示的に宣言する必要がありますが、最初にオブジェクトのクラスを宣言する必要があります。これには、class キーワードを使用します。クラスとは、プロパティとメソッドを含む構造です。次に、オブジェクト クラスでデータ型を定義し、このデータ型をクラスのインスタンスで使用します
<?phpclass Car{ var $color; function Car($color="green") { $this->color = $color; } function what_color() { return $this->color; }}function print_vars($obj) { foreach (get_object_vars($obj) as $prop => $val) { echo "\t$prop = $val\n"; }}$herbie = new Car("white");echo "\herbie: Properties\n";print_vars($herbie);?>
PHP の NULL は空の型であり、大文字と小文字は区別されません。NULL 型には値が 1 つだけあります。変数を表す 値がない、NULL に代入されている、代入されていない、または unset() の場合、これら 3 つの場合、変数は NULL とみなされます
<?php error_reporting(0); //禁止显示PHP警告提示 $var; var_dump($var);//NULL $var1 = null; var_dump($var1);//NULL $var2 = NULL; var_dump( $var2);//NULL $var3 = "节日快乐!"; unset($var3); var_dump($var3);//NULL?>
PHP リソースが作成されますファイルを開く、データ接続、グラフィックス キャンバスなどの特殊な機能によって使用されます。リソースは操作 (作成、使用、解放) できます。リソースが不要になった場合は、速やかに解放する必要があります。リソースの解放を忘れた場合、システムは自動的にガベージ コレクション メカニズムをアクティブにし、ページの実行後にメモリの消費を避けるためにリソースをリサイクルします
<?php$file=fopen("data/webroot/resource/f.txt","r"); //打开文件$con=mysql_connect("127.0.0.1","root","root"); //连接数据库if ($file_handle){ //接着采用while循环(后面语言结构语句中的循环结构会详细介绍)一行行地读取文件,然后输出每行的文字 while (!feof($file_handle)) { //判断是否到最后一行 $line = fgets($file_handle); //读取一行文本 echo $line; //输出一行文本 echo "<br />"; //换行 }}fclose($file_handle);//关闭文件?>
[注]memory_get_usage() は、PHP によって現在消費されているメモリをバイト単位で取得します
<?php echo $m1 = memory_get_usage(); echo "<br />";$var_string = '123';//320echo $m2 = memory_get_usage()-$m1; echo "<br />";$n = 123;//272echo $m3 = memory_get_usage()-$m1-$m2; echo "<br />";$f = 123.00;//272echo $m4 = memory_get_usage()-$m1-$m2-$m3; echo "<br />";$var_array = array('123');//576echo $m5 = memory_get_usage()-$m1-$m2-$m3-$m4; ?>
<?php $string = "就是就是"; var_dump($string);//string(12) "就是就是" echo "<br />"; $string = 9494; var_dump($string);//int(9494) echo "<br />";?>
PHP には、ローカル (ローカル)、グローバル (グローバル)、静的 (静的) の 3 つの異なる変数スコープがあります
関数の外で宣言された変数にはグローバル スコープがあり、関数の外でのみアクセスできます。;関数内で宣言された変数関数はローカル スコープを持ち、関数内でのみアクセスできます
<?phperror_reporting(0); //禁止显示PHP警告提示$x=5; // 全局作用域function myTest() { $y=10; // 局部作用域 echo "<p>测试函数内部的变量:</p>"; echo "变量 x 是:$x<br>"; echo "变量 y 是:$y";} //无输出//10myTest();echo "<p>测试函数之外的变量:</p>";echo "变量 x 是:$x<br>";//5echo "变量 y 是:$y";//无输出?>
関数内のグローバル変数にアクセスするために使用されます
<?php$x=5;$y=10;function myTest() { global $x,$y; $y=$x+$y;}myTest();echo $y; // 输出 15?>
PHP はそれを GLOBALS[index] という名前の配列にも格納します すべてのグローバル変数が含まれており、変数名は添え字で保存されます。この配列は関数内でもアクセスでき、グローバル変数を直接更新するために使用できます
<?php$x=5;$y=10;function myTest() { $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];} myTest();echo $y; // 输出 15?>
通常、関数が完了または実行されると、すべての変数が削除されますが、場合によっては、変数を削除しないことが必要な場合があります。ローカル変数。これを実現するには、変数を初めて宣言するときに static キーワードを使用します。関数が呼び出されるたびに、この変数に格納される情報は、関数が最後に呼び出されたときに含まれる情報ですが、この変数は依然として関数のローカル変数であることに注意してください
<?phpfunction myTest() { static $x=0; echo $x; $x++;}myTest();//0echo "<br>";myTest();//1echo "<br>";myTest();//2echo "<br>";myTest();//3echo "<br>";myTest();//4?>