ホームページ  >  記事  >  バックエンド開発  >  PHP変数の入門チュートリアル、PHP変数の基礎知識

PHP変数の入門チュートリアル、PHP変数の基礎知識

WBOY
WBOYオリジナル
2016-07-25 08:51:411025ブラウズ
  1. $a = 'hello';
  2. function test() {
  3. var_dump($a);
  4. }
  5. // test();
  6. include 'b.inc';
コード

b.inc の内容をコピーします:

  1. echo 'hello';
  2. ?>
コードをコピー

プログラムは正常に hello を出力できますが、コメントアウトされた test() は正常に解析できません。変数 $a は未定義です。

4. グローバル変数を使用する 関数内でグローバル変数を使用する場合は、次の 2 つの方法があります。

グローバルキーワード グローバル $a、$b; グローバル変数が関数内で宣言されると、変数へのすべての参照はそのグローバル バージョンを指します。

$GLOBALS スーパーグローバル変数配列 $GLOBALS['b'] = $GLOBALS['a'] + $BLOBALS['b']; 使用法はグローバル キーワードと似ています。

5. 静的変数 静的変数はローカル関数スコープ内にのみ存在しますが、プログラムの実行がこのスコープを離れても、その値は失われません。また、初期化されるのは宣言時に一度だけであり、関数が呼び出されるたびに静的関数の値が上書きされることはありません。

宣言内の式の結果を静的変数に代入すると、静的宣言はコンパイル時に解析エラーが発生します。

  1. function test() {
  2. static $cnt = 0;
  3. echo $cnt;
  4. $cnt++;
  5. if($cnt < 10) {
  6. test();
  7. }
  8. $cnt--;
  9. }
  10. test();
コピーコード

は、C言語のstaticに似ており、次のCコードでも0から9までの10個の数値を順番に出力できます。

  1. #include
  2. void test(void) {
  3. static int cnt = 0;
  4. printf("%d ", cnt);
  5. cnt++;
  6. if(cnt test();
  7. }
  8. cnt--;
  9. }
  10. int main(void) {
  11. test();
  12. return 0;
  13. }
コードをコピー

変数の静的定義とグローバル定義は次のとおりです。参照により実装されます。

5. 変数変数 変数変数は PHP 言語における特殊な使用法であり、他の言語にも存在するかどうかはわかりません。

要するに変光変数とは、変光変数が通常の変数の値を変光変数の変数名として取得することを意味します。

  1. $a = 'hello';
  2. $$a = 'world';
  3. echo "$a $$a" // こんにちは $hello
  4. echo "$a ${$; a}"; // hello world
コードをコピー

可変変数が配列で使用される場合、あいまいさが生じる可能性があります。たとえば、$$a[1] と記述すると、コンパイラはエラーを報告します。表現したい意味は次の 2 つの方法に置き換える必要があります。

${$a[1]} $a[1] を変数として

${$a}[1] $$a は変数として機能し、変数内のインデックス 1 の値を取り出します。

6. フォーム変数 フォームが PHP スクリプトに送信されると、フォーム内の情報がスクリプト内で自動的に利用可能になり、$_GET[]、$_POST[]、$_REQUEST[] 経由でアクセスできます。

変数名のドットとスペースはアンダースコアに変換されることに注意してください。たとえば、 は $_REQUEST["a_b"] になります。次の例は、フォームでの識別子の使用を示しています。

コードをコピー

フォームプロセスファイル process.php。

  1. var_dump(isset($_POST['my.text']));
  2. var_dump(isset($_POST['mytext']));
  3. var_dump(isset($_POST[ 'my_text']));
  4. var_dump($_POST['my_text']);
コードをコピー

ピリオドは PHP 変数名では有効な文字ではないため、出力結果は次のようになります。 ブール値 false ブール値 false ブール値 true

文字列 'h3' (長さ=2) magic_quotes_gpc 設定ディレクティブは get/post/cooie の値に影響します。この機能は非推奨となり、入力内の単一引用符、二重引用符、バックスラッシュおよび NULL 文字はエスケープされません。エスケープする必要がある場合は、addslashes() を使用できます。引用符で囲まれた文字列をデク​​ォートする必要がある場合は、stripslashes() を使用する必要があります。

php はフォーム変数コンテキストの配列も理解します。

例として、より複雑なフォーム変数を使用し、フォームを自分自身に投稿し、送信時にデータを表示します。

  1. if(isset($_POST['action'])) {
  2. var_dump($_POST);
  3. } else {
  4. $page = $_SERVER['PHP_SELF'];
  5. $ s = <<&STR
  6. <複数選択 name="option[]">
  7. STR;
  8. echo $s;
  9. }
コードをコピー

ヒアドキュメントに複雑な変数を含める場合は、中括弧のない上記のコード $_SERVER['PHP_SELF'] を実行するとエラーが発生するため、特に注意してください。

  1. if(isset($_POST['action'])) {
  2. var_dump($_POST);
  3. } else {
  4. $s = <<< form action="{$_SERVER['PHP_SELF']}" method="post">
  5. STR;
  6. echo $s;
  7. }
コードをコピー

上記のプログラムの場合、ユーザーがクリックしたとき画像 ある時点で、フォームがサーバーに送信され、ユーザーがクリックした画像の座標を含む 2 つの変数 sub_x と sub_y が追加されます。

配列 (サイズ=3) 'アクション' => 文字列 '1' (長さ=1) 'sub_x' => 文字列 '334' (長さ=3) 'sub_y' => 文字列 '282' (長さ=3) クッキー

php は setcookie() 関数を使用して Cookie を設定できます。Cookie は http 情報ヘッダーの一部であるため、ブラウザに出力を送信する前に呼び出す必要があります。

php Cookie は以下を使用します:

Cookie データは、対応する Cookie 配列で使用できます。複数の値が Cookie 変数に割り当てられている場合は、それらを配列に割り当てる必要があります。


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