問題タブ [arrayaccess]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
3744 参照

c++ - 単一の連続したメモリブロックを使用して3次元配列にインデックスを付ける

working_lattice[1][5][3]上記の宣言のスタイルを使用してアクセスするにはどうすればよいですか?

0 投票する
2 に答える
2578 参照

php - PHPUnit で arrayaccess を実装するクラスのオブジェクトをモック/スタブする

これは、私がテスト スイートを作成しているクラスのコンストラクターです (mysqli を拡張します)。

Configコンストラクターに渡されるクラスは、php に組み込まれたインターフェースを実装しますarrayaccess

Configオブジェクトをモック/スタブするにはどうすればよいですか? どちらを使用する必要があり、その理由は?

前もって感謝します!

0 投票する
2 に答える
2234 参照

php - PHP、SPL、ArrayAccessインターフェース

ArrayAccessインターフェイスの背後にある考え方を理解しようとしています。

それぞれのメソッドが何であるかわかりません。これらのメソッド(関数)が「組み込み」関数であり、ArrayAccessインターフェイス(「組み込み」)が「確実」である場合は、これらの「組み込み」メソッド(関数)を実装します。 )。

私は、各関数が「舞台裏」のコードで何をしているのかを理解しようとしています。

ArrayAccessが実装するシールを含む組み込みインターフェースであることを理解している場合、それらを実装するときは、組み込み関数への参照のみを実装します。誰かがこれを正しく行うのを手伝ってくれると嬉しいです。

0 投票する
2 に答える
84 参照

php - PHP、SPL、イテレータ インターフェイスを備えた AccessArray インターフェイス

私は AccessArray インターフェイスと Iterator インターフェイスについて考えていましたが、それらを組み合わせることができると考えていました。つまり、AccessArray で配列を設定し、Iterator で foreach ループを使用することを意味します。組み合わせが可能であれば、例を教えてください。その2つ。

0 投票する
4 に答える
4768 参照

php - PHPで配列性をチェックする方法は?

私が思いつくことができる最高のものは

うーん。もっときれいなものはありますか?

編集:のテストis_objectは不要のようです。それについてのセクションをPHPマニュアルのインスタンスに追加しました。

0 投票する
2 に答える
870 参照

php - ArrayAccess/ArrayObject は call_user_func_array() のような関数では機能しません

ArrayAccessorを使用してオブジェクトを実装する場合ArrayObject、一部の操作では完全に通常の配列になります (たとえば、foreach()ステートメント)。しかし、そう簡単にはだまされず、オブジェクトだと不平を言う人もいます。

これは矛盾していると思います。誰かがこの背後にある理由を説明できますか? これを回避する方法はありますか?

バックエンド コードをサポートするためにこれが必要です。配列が必要で (パラメーターとして に渡されますcall_user_func_array())、場合によってはそれを変更します。ただし、配列に加えられた変更を新しい変数にミラーリングする必要があるため、ArrayAccessオブジェクトを介してそれを実行しようとしました (詳細はこちら)。

0 投票する
1 に答える
825 参照

compiler-construction - アレイアクセスパターンのLLVM使用法でのSCEVパス

LLVMを使用してACコードの配列アクセスパターンを見つけようとしています。SCEVはこの目的に使用できることがわかりましたが、scevを使用するためのサンプルコードを見つけることができませんでした。scevを使用して配列アクセスパターンを決定する方法についてのアイデア。

PS:SCEVはScalarEvaluationの略です

0 投票する
2 に答える
5892 参照

php - ArrayまたはArrayAccessを許可するためのPHPタイプのヒント

ArrayAccessを実装する配列またはオブジェクトを許可することは可能ですか?

例えば:

ArrayまたはArrayAccessのいずれかを渡せるようにしたい。

パラメータタイプを手動でチェックする以外に、これを行うためのクリーンな方法はありますか?

0 投票する
2 に答える
4287 参照

php - PHP: ArrayAccess を実装するオブジェクトである「配列」をソートおよびフィルタリングするにはどうすればよいですか?

配列のように動作する、オブジェクトのコレクションであるオブジェクトがあります。これはデータベースの結果オブジェクトです。次のようなもの:

変数は、実装およびインターフェース$usersするオブジェクトです。ArrayAccessCountable

この「配列」をソートおよびフィルタリングしたいのですが、配列関数を使用できません。

この種のオブジェクトをソートおよびフィルタリングするにはどうすればよいですか?

0 投票する
2 に答える
2076 参照

php - クラスの Print_R を配列として

私は実際に複雑な配列を操作して操作をより簡単にするクラスを持っています。元の配列の形式は次のようになります。

このクラスは、上記のような配列をコンストラクターとして受け取ります。

次に、メンバーにアクセスする方法は次のとおりです。

クラスをprint_R取得すると、その値のリストと元の複雑な配列が取得されます。このような:

代わりに、次の出力のように取得したいと思いますprint_r

これを行うためにだますことは可能print_rですか?現在の動作では、クラスを使用しない場合よりも、クラスを使用してデバッグする方が難しくなっています。
もちろん、独自のメソッドを作成して印刷することもできますが、クラスのユーザーにとって使用法をより簡単にしたいと考えています。print_R代わりに、配列として出力される何かを与えたかったのです。