PHPリファレンス
はじめに
PHPでは、参照 異なる名前で同じ変数コンテンツにアクセスできるようにします。それらを使用して算術演算を実行することはできないため、C /C++のポインターとは異なります。 C / C ++では、これらは実際のメモリアドレスです。対照的に、PHPでは、これらはシンボルテーブルエイリアスです。 PHPでは、変数名と変数コンテンツが異なるため、同じコンテンツに異なる名前を付けることができます。参照変数は、接頭辞&によって作成されます 元の変数に署名します。したがって、 $ b =&$ a $bが$aの参照変数であることを意味します。
参照による割り当て
次の例では、2つの変数が同じ値を参照しています
例
<?php $var1=10; $var2=&$var1; echo "$var1 $var2\n"; $var2=20; echo "$var1 $var2\n"; ?>
出力
1つの値の変更は、他の値にも反映されます
10 10 20 20
未定義の変数を参照によって割り当て、渡す、または返すと、変数が作成されます。関数内でグローバルに宣言された変数への参照を割り当てると、参照は関数内でのみ表示されます。 foreachステートメントで参照を使用して変数に値が割り当てられると、参照も変更されます。
例
<?php $arr=[1,2,3,4,5]; $i=&$ref; foreach($arr as $i) echo $i*$i, "\n"; echo "ref = ". $ref; ?>
出力
$ refの値は、配列の最後の要素の値を格納します
1 4 9 16 25 ref = 5
次の例では、配列要素は、配列の初期化の前に宣言された個々の変数への参照です。要素が変更されると、変数の値も変更されます
例
<?php $a = 10; $b = 20; $c=30; $arr = array(&$a, &$b, &$c); for ($i=0; $i<3; $i++) $arr[$i]++; echo "$a $b $c"; ?>
出力
$ a、$ b、および$cの値も増分されます
11 21 31
-
PHPのfilter_input()関数
filter_input()関数は、外部変数の名前を取得し、オプションでフィルタリングします。 構文 filter_input(type, var, filtername, options) パラメータ タイプ −チェックする入力には、INPUT_GET、INPUT_POST、INPUT_COOKIE、INPUT_SERVER、またはINPUT_ENVの5種類があります。 var −変数の名前。 フィルター名 −IDを取得するためのフィルターの名前。 オプション −使用するオプションを指定します。 戻る filter_input()関数は、成功した場合は変数の
-
PHPのextract()関数
extract()関数は、変数を配列から現在のシンボルテーブルにインポートします。正常に抽出された変数の数を返します。 構文 extract(arr, rules, prefix) パラメータ 到着 −指定された配列 ルール −無効な変数名の処理方法を指定します。可能な値は次のとおりです- EXTR_OVERWRITE −デフォルト。衝突すると、既存の変数が上書きされます EXTR_SKIP −衝突時に、既存の変数は上書きされません EXTR_PREFIX_SAME −衝突時に、変数名にプレフィックスが付けられます EXTR_PREFIX_