ホームページ  >  記事  >  バックエンド開発  >  PHP変数定数定義方法

PHP変数定数定義方法

WBOY
WBOYオリジナル
2016-06-20 13:00:501695ブラウズ

php変数定数定義方法

PHP におけるいくつかの一般的な静的定数の定義。

1. 定数を定義します

define("CONSTANT", "Hello world.");


定数にはスカラー データ (ブール値、整数、浮動小数点、文字列) のみを含めることができます。
定数を呼び出すときは、次のように、「$」記号を追加せずに、名前を使用するだけで定数の値を取得できます。 注: 定数と (グローバル) 変数は異なる名前空間にあります。これは、たとえば TRUE と $TRUE が異なることを意味します。

2. 通常の変数

$a = "こんにちは";

3. 変数変数

(ドル記号 ($) を 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] を使用します。

4. 静的変数

関数内の静的 $a = 0;

注: 宣言内で式の結果を代入すると、static $a =3+3; (error)
などの解析エラーが発生します。 静的変数はローカル関数ドメイン (関数内) にのみ存在し、関数の実行後も変数値は失われず、再帰呼び出しに使用できます。
5. グローバル変数

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

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

関数スコープ内の global ステートメントでインポートされた実際のグローバル変数は、実際にはグローバル変数
への参照を確立します。 グローバル $obj;
注: 変数の静的定義とグローバル定義は、アプリケーション
の形式で実装されます。
6. 変数に値を代入します:

アドレスによる割り当て (単純な参照):

$bar = &$foo; //代入する変数の前に & 記号を追加します

新しい変数を変更すると元の変数に影響があり、この代入操作のほうが高速です

注: アドレス
によって割り当てることができるのは名前付き変数のみです 注:
の場合 $bar = &$a;
$bar = &$foo;
$bar の値を変更すると、変数 foo の値のみが変更され、a の値は変更されません (参照が変更されました)

7.PHP 超全局变量$GLOBALS 

 包含一个引用指向每个当前脚本的全局范围内有效的变量。该数组的键标为全局变量的 名称。从 PHP 3 开始存在 $GLOBALS 数组。
$_SERVER : 变量由 Web 服务器设定或者直接与当前脚本的执行环境相关联。类似于旧数组 $HTTP_SERVER_VARS 数组(依然有效,但反对使用)。
$_GET : 经由 HTTP GET 方法提交至脚本的变量。
$_POST : 经由 HTTP POST 方法提交至脚本的变量。
$_COOKIE : 经由 HTTP Cookies 方法提交至脚本的变量。
$_FILES : 经由 HTTP POST 文件上传而提交至脚本的变量。
文件上传表单中要有 enctype="multipart/form-data"
$_ENV : 执行环境提交至脚本的变量。
$_REQUEST :经由 GET,POST 和 COOKIE 机制提交至脚本的变量,因此该数组并不值得信任。所有包含在该数组中的变量的存在与否以及变量的顺序均按照 php.ini 中的 variables_order 配置指示来定义。该数组没有直接模拟 PHP 4.1.0 的早期版本。参见 import_request_variables()。
注意: 自 PHP 4.3.0 起,$_FILES 中的文件信息不再存在于 $_REQUEST 中。
$_SESSION :当前注册给脚本会话的变量。
如何禁用phpinfo():
php.ini中
disable_functions = phpinfo()
重启web服务器。
php中的常量
常量只能用define(常量名,常量值);
常量只能包含标量数据(boolean,integer,float 和 string)。
可以简单的通过指定其名字来取得常量的值,不要在常量前面加上 $ 符号。如果常量名是动态的,也可以用函数
constant() 来读取常量的值。用 get_defined_constants() 可以获得所有已定义的常量列表。
注: 常量和(全局)变量在不同的名字空间中。这意味着例如 TRUE 和 $TRUE 是不同的。
如果使用了一个未定义的常量,PHP 假定想要的是该常量本身的名字,如同用字符串调用它一样(CONSTANT 对应 "CONSTANT")。此时将发出一个 E_NOTICE 级的错误。参见手册中为什么 $w3sky[bar] 是错误的(除非事先用 define() 将 bar 定义为一个常量)。如果只想检查是否定义了某常量,用 defined() 函数。
常量和变量不同:
* 常量前面没有美元符号($);
* 常量只能用 define() 函数定义,而不能通过赋值语句;
* 常量可以不用理会变量范围的规则而在任何地方定义和访问;
* 常量一旦定义就不能被重新定义或者取消定义;
* 常量的值只能是标量。
定义常量


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