ホームページ >バックエンド開発 >PHPの問題 >PHPで変数を定義する方法は何ですか

PHPで変数を定義する方法は何ですか

青灯夜游
青灯夜游オリジナル
2021-06-18 12:54:165386ブラウズ

PHP 変数を定義する方法: 1. "define(name, value, case_insensitive)" ステートメントを使用します; 2. "$ 変数名 = 値;" ステートメントを使用します; 3. "static $ 変数名" を使用します= value ;" ステートメント; 4. "$$ 変数名 = value;" ステートメントなどを使用します。

PHPで変数を定義する方法は何ですか

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

php 変数定義メソッド

定数の定義define();

define(name,value,case_insensitive)

PHPで変数を定義する方法は何ですか

定数にはスカラー データ (ブール値) のみを含めることができます。 、整数、浮動小数点、文字列)。

定数を呼び出すときは、「$」記号を追加する代わりに、単に名前を使用して定数の値を取得するだけで済みます (例: echo CONSTANT;

注:定数と (グローバル) 変数は名前空間内で異なります。これは、たとえば TRUE と $TRUE が異なることを意味します。

通常の変数 $a = "hello";

変数変数 (2 つのドル記号 ($) を使用)

$$a = "world";

両方の変数が定義されています:

$a のコンテンツは「hello」、$hello のコンテンツは「world」です。

したがって、次のように表現できます:

echo "$a ${$a}";または echo "$a $hello"; どちらも次のように出力されます: hello world

可変変数を配列で使用するには、あいまいさを解決する必要があります。これは、$$a[1] を記述するときに、パーサーは $a[1] を変数として必要とするか、または $$a を変数として必要としてインデックス [1] 値を持つ変数を抽出するかを知る必要があります。この問題を解決する構文は、最初のケースには ${$a[1]} を使用し、2 番目のケースには ${$a}[1] を使用します。

関数内の静的変数

static $a = 0;

注: 宣言内の式の結果を代入すると、 static $a =3 3; (エラー) などの解析エラー

静的変数はローカル関数ドメイン (関数内) にのみ存在します。関数の実行後、変数の値は失われることはなく、再帰呼び出しに使用できます

グローバル変数

関数本体で定義されたグローバル変数は、関数の外部で使用できます。関数の外部で定義されたグローバル変数は、関数の内部では使用できません。関数本体。変数はグローバル スコープでアクセスできます。特別な PHP を使用して $GLOBALS 配列をカスタマイズします:

例:

$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];

関数内の global ステートメントでインポートされた実際のグローバル変数ドメインは実際にグローバル変数への参照を確立します

global $obj;

注: 変数の静的およびグローバル定義はアプリケーション方式で実装されます

変数への値の割り当て: アドレスを渡します割り当て (単純な参照):

$bar = &$foo; //加&符号到将要赋值的变量前

新しい変数を変更すると元の変数に影響します。この割り当て操作は高速です

注: アドレスを割り当てることができるのは名前付き変数のみです

注意:

$bar = &$a; 
$bar = &$foo;
# の場合 ##$bar の値を変更すると、変数 foo の値のみが変更され、変数 (参照が変更されました) の値は変更できません。

PHP スーパー グローバル変数 $GLOBALS

: 現在の各スクリプトのグローバル スコープで有効な変数への参照が含まれます。この配列のキーはグローバル変数の名前です。 $GLOBALS 配列は PHP 3 以降に存在します。

$_SERVER: 変数は Web サーバーによって設定されるか、現在のスクリプトの実行環境に直接関連付けられます。古い $HTTP_SERVER_VARS 配列に似ています (まだ有効ですが、非推奨です)。


    #$_GET: HTTP GET メソッド経由でスクリプトに送信される変数。
  • #$_POST: HTTP POST メソッド経由でスクリプトに送信される変数。
  • #$_COOKIE: HTTP Cookie メソッドを介してスクリプトに送信される変数。
  • #$_FILES : HTTP POST ファイルのアップロードを通じてスクリプトに送信された変数。
  • ファイル アップロード フォームには、
enctype="multipart/form-data"

$_ENV: 実行によってスクリプトに送信される変数が含まれている必要があります。環境。

$_REQUEST: 変数は GET、POST、COOKIE メカニズムを介してスクリプトに送信されるため、この配列は信頼できません。この配列に含まれるすべての変数の有無、および順序は、php.ini の variables_order 設定ディレクティブに従って定義されます。この配列は、PHP 4.1.0 の以前のバージョンを直接エミュレートしません。

注: PHP 4.3.0 以降、$_FILES のファイル情報は $_REQUEST に存在しなくなりました。

$_SESSION: スクリプト セッションに現在登録されている変数。

phpinfo() を無効にする方法:

php.ini

disable_functions = phpinfo()

Web サーバーを再起動します。

php の定数 定数は (定数名、定数値) のみを定義できます。

定数は、 used スカラー データ (ブール値、整数、浮動小数点、文字列) が含まれます。

可以简单的通过指定其名字来取得常量的值,不要在常量前面加上 $ 符号。如果常量名是动态的,也可以用函数 

constant() 来读取常量的值。用 get_defined_constants() 可以获得所有已定义的常量列表。 

注: 常量和(全局)变量在不同的名字空间中。这意味着例如 TRUE 和 $TRUE 是不同的。 

如果使用了一个未定义的常量,PHP 假定想要的是该常量本身的名字,如同用字符串调用它一样(CONSTANT 对应 "CONSTANT")。此时将发出一个 E_NOTICE 级的错误。参见手册中为什么 $w3sky[bar] 是错误的(除非事先用 define() 将 bar 定义为一个常量)。如果只想检查是否定义了某常量,用 defined() 函数。 

常量和变量不同: 

* 常量前面没有美元符号($); 

* 常量只能用 define() 函数定义,而不能通过赋值语句; 

* 常量可以不用理会变量范围的规则而在任何地方定义和访问; 

* 常量一旦定义就不能被重新定义或者取消定义; 

* 常量的值只能是标量。 

定义常量 

<?PHP 
define("CONSTANT", "Hello world."); 
echo CONSTANT; // outputs "Hello world." 
echo Constant; // outputs "Constant" and issues a notice. 
?>

推荐学习:《PHP视频教程

以上がPHPで変数を定義する方法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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