PHP の値による代入と参照による代入の違い_PHP チュートリアル
- WBOYオリジナル
- 2016-07-21 15:32:521073ブラウズ
値による代入: 式の値を変数に代入する場合、元の式全体の値がターゲット変数に代入されます。これは、たとえば、ある変数の値が別の変数に割り当てられているときにその変数の値を変更しても、他の変数には影響を与えないことを意味します。
コードをコピーします コードは次のとおりです:
$a=123; $b=&$a; ;
$a =321; $a=321;
Echo”$a,$b”;//「321,123」を表示
?>
参照割り当て
: 新しい変数は元の変数を参照するだけです。新しい変数を変更すると、元の変数に影響します。割り当てられる変数 (ソース変数) の前に & 記号を追加するだけです。変数定義では、明示的な型定義は必要ありません (またはサポートされません)。変数の型は、変数が使用されるコンテキストに基づいて決定されます。つまり、変数 var に文字列値を代入すると、var は文字列になります。 var に整数値を代入すると、それは整数になります。
型キャスト
許可されるキャストは次のとおりです: (int)、(integer) - 整数 (bool) に変換され、(boolean) - ブール値 (float)、(double)、(real) に変換されます。 ) - 文字列(配列)に変換 - 配列(オブジェクト)に変換 - オブジェクトに変換 Settype()で型変換関数 Settype()
[code]
$foo = "5bar ";
$bar = true; // boolean
settype($foo, "integer"); // $foo は 5 (整数) になります
settype($bar, "string"); // $ bar は "1" になります。 " (文字列)
?>
変数のスコープ 変数のスコープは、変数が定義されているコンテキスト (つまり、その有効スコープ) です。ほとんどの PHP 変数にはスコープが 1 つだけあります。この単一スコープ スパンには、include および require によって導入されたファイルも含まれます。
静的変数 変数スコープのもう 1 つの重要な機能は、静的変数です。静的変数はローカル関数スコープ内にのみ存在しますが、プログラムの実行がこのスコープを離れても、その値は失われません。
配列 PHP の配列は、実際には順序付けられたグラフです。グラフは値をキーにマッピングするタイプです。この型はさまざまな方法で最適化されているため、実配列、リスト (ベクトル)、ハッシュ テーブル (グラフの実装)、辞書、セット、スタック、キューなどとして使用できます。さらなる可能性を。別のPHP配列を値として使用できるので、ツリーのシミュレーションも簡単に行えます。 array() の定義 array() 言語構造を使用して、新しい配列を作成できます。カンマで区切られたキー => 値パラメータのペアを多数受け入れます。
array( key => value , ... )
// key は整数または文字列にすることができます
// value は任意の値にすることができます
コードをコピーする
コードは次のとおりです: php // 配列内のすべてのセルを削除しますが、配列自体の構造は保持します// 単純な配列 foreach を作成します ($array as $i => $value) {
$array = array(1, 2, 3, 4) , 5 ); unset($array[$i]);
print_r($array);
// 新しいキー名は 0 ではなく 5 であることに注意してください。考えます)
$array[] = 6;
print_r($array); // 再インデックス:
$array[] = 7;
unset() 関数を使用すると、配列内のキーの設定を解除できます。配列のインデックスは再作成されないことに注意してください。
コードをコピー
コードは次のとおりです:
$a = array( 1 => 'one', 2 => 'two', 3 => 'three' );
unset( $a[2] ); /* は $ の代わりに $a = array( 1=>'one', 3=>'three'); として定義される配列を生成します。 a = array ( 1 => 'one', 2 => 'three');
*/
$b = array_values($a)
// これで $b は array(0 => 'one') , 1 = >'three')
?>
Constructor
void __construct ([mixed $args [, $... ]] )
PHP 5 では、開発者がクラス内のコンストラクターとしてメソッドを定義できます。コンストラクターを持つクラスは、オブジェクトが作成されるたびにこのメソッドを呼び出すため、オブジェクトを使用する前に初期化作業を行うのに非常に適しています。
注: コンストラクターがサブクラスで定義されている場合、その親クラスのコンストラクターは暗黙的に呼び出されません。親クラスのコンストラクターを実行するには、子クラスのコンストラクターでparent::__construct()を呼び出す必要があります。
例#1 新しい標準コンストラクターの使用
コードをコピーします
コードは次のとおりです:
class BaseClass {
function __construct() {
print "In BaseClass コンストラクター";
}
}
class SubClass extends BaseClass {
function __construct() {
parent::__construct(); "サブクラス コンストラクター内";
}
}
$obj = new BaseClass();
$obj = new SubClass();>
二重引用符内のフィールドは HTML として処理されます。コード出力。一重引用符内の単語は解釈されず、直接出力されます。 $abc='私の名前はトム'; echo $abc//結果は私の名前はトムです;echo'$abc'//結果は$abc;echo"$abc"//結果は私の名前はトムです
アクセス制御 プロパティまたはメソッドのアクセス制御は、先頭に public、protected、または private のキーワードを追加することで実現されます。 public で定義されたクラス メンバーにはどこからでもアクセスできます。protected で定義されたクラス メンバーは、そのメンバーが配置されているクラスのサブクラスおよび親クラスからアクセスできます (もちろん、そのメンバーが配置されているクラスにもアクセスできます)。定義されたクラス メンバーには、そのメンバーが配置されているクラスからのみアクセスできます。
コードをコピーします コードは次のとおりです:
class MyClass
{
public $public = 'Public'
protected $protected = 'Protected'; 'Private';
function printHello()
{
echo $this->public;
echo $this->private
}
抽象クラスPHP 5 と抽象メソッドで導入されました。抽象として定義されたクラスのインスタンスを作成することはできません。少なくとも 1 つの抽象メソッドを含むクラスも抽象メソッドである必要があります。抽象として定義されたメソッドは、メソッドを宣言するための信号にすぎず、その実装は定義されません。
抽象クラスから継承する場合、親クラスのすべての抽象メソッドのタグの宣言は、サブクラスによって定義する必要があります。また、これらのメソッドは同じアクセス属性で定義する必要があります。たとえば、メソッドが保護された型として定義されている場合、実行関数は保護またはパブリックとして定義する必要があります。
インターフェイス オブジェクト インターフェイスを使用すると、これらのメソッドがどのように操作されるかを説明することなく、指定されたクラスのメソッドの実行コードを作成できます。加工済み)。このインターフェイスは、やはり標準クラスとしてインターフェイス キーワードを定義するために使用されますが、その内容が定義されているメソッドはありません。インターフェイス内のすべてのメソッドは public に宣言する必要があります。これはインターフェイスの特性です。 implements (実行、実装) インターフェースを実装するには、implements オペレーションを使用します。インターフェイス内のすべてのメソッドはクラス内に実装する必要があります。これらを省略すると致命的なエラーが発生します。必要に応じて、各インターフェイスをカンマで区切ることにより、クラスで複数のインターフェイスを実装できます。
オーバーロードされたメソッド呼び出しとメンバーアクセスは、__call、__get、__set メソッドを通じてロードできます。これらのメソッドは、メンバーやメソッドを含まないオブジェクトまたは継承されたオブジェクトにアクセスしようとした場合にのみトリガーされます。すべてのオーバーロードされたメソッドを静的として定義する必要があるわけではありません。PHP 5.1.0 以降では、__isset() メソッドと __unset() メソッドを使用して isset() 関数と unset() 関数を 1 つずつオーバーロードすることもできます。
PHP $_GET 変数は、get メソッドを通じてフォームから「値」を取得します。 「$_GET」変数を使用すると、すべての変数名と変数値が URL アドレス バーに表示されるため、送信する情報にパスワードやその他の機密情報が含まれている場合は、このメソッドを使用できなくなります。
PHP $_POST 変数の目的は、method = "post" メソッドによって送信されたフォーム変数を取得することです。