PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHP変数変数


はじめに

PHPでは、変数名を動的に設定することができます。このような変数は、既存の変数の値を名前として使用します。変数変数は、接頭辞として2つの$記号で定義されます

<?php
$var1="xyz"; //normal variable
$$var1="abcd";//variable variable
echo $var1 . "\n";
echo $$var1 . "\n";
echo "{$$var1} $xyz";
?>

出力

このスクリプトは次の出力を生成します

xyz
abcd
abcd abcd

$$var1の値は$xyzと同じであり、xyzは$var1の値であることに注意してください。

正規変数の数値を変数変数として使用することはできません

<?php
$var1=100; //normal variable
$$var1=200;//variable variable
echo $var1 . "\n";
echo $$var1 . "\n";
echo $100;
?>

出力

このスクリプトを実行すると、次の結果が表示されます

PHP Parse error: syntax error, unexpected '100' (T_LNUMBER), expecting variable (T_VARIABLE) or '{' or '$' line 6

配列の添え字で変数変数を定義することもできます。次の例では、変数変数は通常の配列の0番目の要素を使用して定義されています

<?php
$var1=array("aa","bb"); //normal variable
${$var1[0]}=10;//variable variable with array element
echo $var1[0] . "\n";
echo $aa . "\n";
echo ${$var1[0]} . "\n";
?>

出力

これにより、次の結果が生成されます-

aa
10
10

クラスプロパティには、変数プロパティ名を使用してアクセスすることもできます。この機能は、プロパティ名が配列で構成されている場合に役立ちます。

<?php
var $u = "Architecture";
var $ugCourses = array("CSE","MECH","CIVIL");
$obj = new branches();
$courses = "ugCourses";
echo $obj->{$courses[0]} . "\n";
echo $obj->{$courses}[0] . "\n";
?>

出力

これにより、次の結果が生成されます-

Architecture
CSE

  1. PHPのextract()関数

    extract()関数は、変数を配列から現​​在のシンボルテーブルにインポートします。正常に抽出された変数の数を返します。 構文 extract(arr, rules, prefix) パラメータ 到着 −指定された配列 ルール −無効な変数名の処理方法を指定します。可能な値は次のとおりです- EXTR_OVERWRITE −デフォルト。衝突すると、既存の変数が上書きされます EXTR_SKIP −衝突時に、既存の変数は上書きされません EXTR_PREFIX_SAME −衝突時に、変数名にプレフィックスが付けられます EXTR_PREFIX_

  2. PowerShellの変数

    コンピュータサイエンス(およびカジュアルコンピューティング)では、変数は、後で使用するために任意の情報を保持するメモリ内の場所です。つまり、データを出し入れするための一時的なストレージコンテナです。 Bashシェルでは、そのデータは単語(文字列)にすることができます 、コンピュータ用語で)または数値(整数 。 これまで(故意に)コンピューターで変数を使用したことはないかもしれませんが、おそらく人生の別の領域で変数を使用したことがあります。 「givemethat」や「lookatthis」などと言うときは、文法変数を使用しています(代名詞 )。 「これ」と「それ」の意味は、あなたが頭の中で描