問題タブ [arrayobject]

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 に答える
15942 参照

php - PHPでArrayObjectを正しく拡張していますか?

問題:以下に示すように PHP を拡張しようとしていArrayObjectます。残念ながら、多次元オブジェクトを設定するときに正しく動作させることができず、PHP で厳密な設定を有効にしているため、代わりにエラーがスローされます。( Error: Strict standards: Creating default object from empty value)

質問:クラスを変更して、存在しないレベルを自動的に作成するにはどうすればよいですか?

コード:

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

php - Joomla 1.7で壊れたArrayObjectクラスの継承?

私の問題を説明するためだけに、この小さなテストクラスを作成しました

大量のデータを扱うときは、通常、ArrayObject から継承するクラスを作成して、オブジェクトをより適切に構造化し、速度を上げます (php 5.3 ではヒステリックに高速です)。

通常の php ページでは問題なく動作しますが、Joomla 1.7 で使用すると、オブジェクトが変更されて返されます。

これがクラスです

通常のphpアプリケーションでは、戻ります

しかし、Joomlaではそれが返されます

したがって、配列オブジェクト以外はすべてスキップされます。これは、ドキュメント (とにかくひどい) がこの動作をカバーしていないため、非常に面倒です。この設計パターンに依存するより大きなフレームワークを書いているので、すべてを再設計したくありません! :)

どこから始めればよいかアドバイスはありますか?

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

php - PHP値を配列に出力します

こんにちは私はオブジェクトの配列から特定の値を出力しようとしています。オブジェクトのプロパティが「nme」の値である配列名$allPhotosから値を取得しようとしています。

これが私が試していることです:echo $ allPhotos [0] ["nme"];

配列は次のようになります。

var_dump($ allPhotos);

前もって感謝します!

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

php - 魔法のメソッドは ArrayObjects 内では機能しませんか?

説明できないコードの問題に遭遇しました。私が考えることができる唯一のことは、魔法のメソッドは ArrayObjects 内では機能しないということです。たとえば、次のクラスがあるとします。

次の行で、「Notice: Undefined index: test ...」というエラーが表示されます。

それでも、これらの行は正常に機能します。

私は気が狂っていますか、それとも既知の問題ですか?

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

php - ArrayObjectでoffsetSetが呼び出されていない

phpコードの例:

テスト2がoffsetSetメソッドを呼び出さないのはなぜですか?

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

php - PHP での ArrayObject の破棄

ArrayObject で __destroy() メソッドを探していましたが、実装が見つかりませんでした。ArrayObject を含む変数を NULL に設定すると、格納されているすべてのオブジェクトが正しく破棄され、メモリが解放されますか? または、ArrayObject を反復処理して、オブジェクトの設定を解除する前に各オブジェクトを破棄する必要がありますか?

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

php - ArrayObjectの反復

問題:

ArrayObjectは、値を手動で設定または読み取ると期待どおりに機能しますが、関数(foreachなど)を使用して反復処理すると、問題が発生します。

私が定義したoffset*メソッドを呼び出さず、代わりにArrayIteratorメソッドを使用します。

コード:

クラス:

使用例:

出力:

CodePadの例。

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

php - ArrayObject でネストされた配列の設定を解除する方法は?

イデオン

サンプルコード:

出力

$a['b']['c']設定を解除した後でも、まだそこにあることに気付きます。値が 1 つしか残っていないことが予想$aされます ( b)。

私の実際のアプリでは、次の警告が表示されます。

MyClass のオーバーロードされた要素の間接的な変更は効果がありません

MyClass拡張する場所ArrayObject。このようにネストされた要素の設定を解除できることに依存するコードがたくさんありますが、どうすればこれを機能させることができますか?

0 投票する
7 に答える
20980 参照

php - PHPのArrayIterator、ArrayObject、およびArrayの違い

機能と操作の観点からArrayIteratorArrayObjectとPHPの基本的な違いを誰かが明確に説明できますか? Arrayありがとう!