ホームページ > バックエンド開発 > PHPチュートリアル > フロントエンドの PHP 変数、データ型、スコープの学習

フロントエンドの PHP 変数、データ型、スコープの学習

WBOY
リリース: 2016-06-23 13:20:18
オリジナル
1007 人が閲覧しました

カタログ [1] 変数 変数定義 変数の割り当て [2] データ型 文字列 整数 浮動小数点数 ブール配列オブジェクト NULL リソース [3] スコープ globalstatic

Variable

変数定義

変数は情報を格納するためのコンテナです、$ 記号で始まり、変数名が続きます。変数名は文字またはアンダースコアで始まる必要があり、大文字と小文字が区別されます

<?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() は変数のデータ型と値を返します

String

文字列は引用符で囲まれたものであれば何でも構いません テキスト、引用符は単一引用符または二重引用符にすることができます

<?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)?>
ログイン後にコピー

Array

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);?>
ログイン後にコピー

Object

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);?>
ログイン後にコピー

NULL

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 キーワード

通常、関数が完了または実行されると、すべての変数が削除されますが、場合によっては、変数を削除しないことが必要な場合があります。ローカル変数。これを実現するには、変数を初めて宣言するときに static キーワードを使用します。関数が呼び出されるたびに、この変数に格納される情報は、関数が最後に呼び出されたときに含まれる情報ですが、この変数は依然として関数のローカル変数であることに注意してください

<?phpfunction myTest() {   static $x=0;   echo $x;   $x++;}myTest();//0echo "<br>";myTest();//1echo "<br>";myTest();//2echo "<br>";myTest();//3echo "<br>";myTest();//4?>  
ログイン後にコピー
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート