ホームページ >バックエンド開発 >PHPチュートリアル >PHPの配列ポインタの詳しい説明

PHPの配列ポインタの詳しい説明

小云云
小云云オリジナル
2018-03-13 09:48:407277ブラウズ

この記事では主にPHPの配列ポインタの詳細な説明を共有します。まず、PHPの配列ポインタの操作方法を共有します。

1. PHP 配列ポインター操作

PHP の組み込み関数を使用します: key、c​​urrent、next()、prev() を使用して前のポインターに移動し、

reset() をリセットして最初のポインターに移動します要素、end() は最後の要素に移動します

ポインターの位置が不正になると、相対移動 (次へ、前へ) はできなくなりますが、絶対移動 (リセット、終了) は可能になり、リセットがより頻繁に使用されることに注意してください。

each() は、key、c​​urrent、next の機能を組み合わせたものです。現在の要素情報を取得したら、ポインタを次の要素に移動します。

要素情報配列 = each($arr) ポインタを移動します

要素情報配列にはインデックスとアソシエーションの 2 つの表現スキームがあることに注意してください。

その中に: インデックス: 0、1 はそれぞれキーと値を表し、関連付け: キー、値はそれぞれキーと値を表します

2. よく使用されるポインター走査メソッド

each+while+list は配列を走査します

list -each配列を走査

PHPの配列ポインタの詳しい説明

アップグレードされた操作:

キー変数と値変数の操作が取得され、簡素化されます。

PHPの配列ポインタの詳しい説明

リスト構造を使用します

インデックス配列を使用して複数の変数を同時に初期化します!

PHPの配列ポインタの詳しい説明


eachの戻り値には、キーとしてインデックス配列0、値として1が含まれています。

listを使用した単純化された結果:

PHPの配列ポインタの詳しい説明


実際: ループ構造がある限り、ポインター操作は完了できます。配列を走査する


3. 配列ポインターの問題についての議論


コピー中のポインターの位置の問題を考慮してください:

PHPの配列ポインタの詳しい説明


元の配列ポインタがすでに不正な場合はどうなりますか?問題は、コピー後、誰が current を最初に実行し、どの配列ポインタが初期化されるかです。

この現象の理由は次のとおりです: PHPの配列ポインタの詳しい説明

1. 配列ポインターの位置が不正な場合、コピー時に新しい配列ポインターが初期化されます。


2. 値を渡すとき、PHP は COW (コピーオンライト) 最適化対策を採用しています。

コピーオンライトの 2 つの重要なポイント:

値が転送されるとき、新しい変数のために値空間がすぐに開かれるわけではありませんが、両方の変数が変更される前に、値空間が引き続き使用されますPHPの配列ポインタの詳しい説明



変数が変更されると、値空間がコピーされ、変更された変数が新しい空間を参照できるようになります。


PHPの配列ポインタの詳しい説明


PHPの配列ポインタの詳しい説明



current は書き込み操作も発行し、スペースがコピーされることに注意してください。最初に現在の人が新しい人となり、ポインタは初期化されます。

PHPの配列ポインタの詳しい説明


foreach

1 では、元の配列の代わりにコピーが走査されます。

2. 元の配列で書き込み操作が発生した場合にのみ、実際のコピーが作成されます。このとき、元の配列ポインタは現在位置に留まります。不正な場合は初期化されます。

PHPの配列ポインタの詳しい説明

関連する推奨事項:

お勧めのPHP配列ポインタの特殊効果

PHP配列ポインタ

PHP配列ポインタの使い方の詳しい説明

以上がPHPの配列ポインタの詳しい説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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