問題タブ [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.
php - PHPでArrayObjectを正しく拡張していますか?
問題:以下に示すように PHP を拡張しようとしていArrayObject
ます。残念ながら、多次元オブジェクトを設定するときに正しく動作させることができず、PHP で厳密な設定を有効にしているため、代わりにエラーがスローされます。( Error: Strict standards: Creating default object from empty value
)
質問:クラスを変更して、存在しないレベルを自動的に作成するにはどうすればよいですか?
コード:
php - Joomla 1.7で壊れたArrayObjectクラスの継承?
私の問題を説明するためだけに、この小さなテストクラスを作成しました
大量のデータを扱うときは、通常、ArrayObject から継承するクラスを作成して、オブジェクトをより適切に構造化し、速度を上げます (php 5.3 ではヒステリックに高速です)。
通常の php ページでは問題なく動作しますが、Joomla 1.7 で使用すると、オブジェクトが変更されて返されます。
これがクラスです
通常のphpアプリケーションでは、戻ります
しかし、Joomlaではそれが返されます
したがって、配列オブジェクト以外はすべてスキップされます。これは、ドキュメント (とにかくひどい) がこの動作をカバーしていないため、非常に面倒です。この設計パターンに依存するより大きなフレームワークを書いているので、すべてを再設計したくありません! :)
どこから始めればよいかアドバイスはありますか?
php - PHP値を配列に出力します
こんにちは私はオブジェクトの配列から特定の値を出力しようとしています。オブジェクトのプロパティが「nme」の値である配列名$allPhotosから値を取得しようとしています。
これが私が試していることです:echo $ allPhotos [0] ["nme"];
配列は次のようになります。
var_dump($ allPhotos);
前もって感謝します!
php - 魔法のメソッドは ArrayObjects 内では機能しませんか?
説明できないコードの問題に遭遇しました。私が考えることができる唯一のことは、魔法のメソッドは ArrayObjects 内では機能しないということです。たとえば、次のクラスがあるとします。
次の行で、「Notice: Undefined index: test ...」というエラーが表示されます。
それでも、これらの行は正常に機能します。
私は気が狂っていますか、それとも既知の問題ですか?
php - ArrayObjectでoffsetSetが呼び出されていない
phpコードの例:
テスト2がoffsetSetメソッドを呼び出さないのはなぜですか?
php - PHP での ArrayObject の破棄
ArrayObject で __destroy() メソッドを探していましたが、実装が見つかりませんでした。ArrayObject を含む変数を NULL に設定すると、格納されているすべてのオブジェクトが正しく破棄され、メモリが解放されますか? または、ArrayObject を反復処理して、オブジェクトの設定を解除する前に各オブジェクトを破棄する必要がありますか?
php - ArrayObjectの反復
問題:
ArrayObjectは、値を手動で設定または読み取ると期待どおりに機能しますが、関数(foreachなど)を使用して反復処理すると、問題が発生します。
私が定義したoffset*メソッドを呼び出さず、代わりにArrayIteratorメソッドを使用します。
コード:
クラス:
使用例:
出力:
php - ArrayObject でネストされた配列の設定を解除する方法は?
サンプルコード:
出力
$a['b']['c']
設定を解除した後でも、まだそこにあることに気付きます。値が 1 つしか残っていないことが予想$a
されます ( b
)。
私の実際のアプリでは、次の警告が表示されます。
MyClass のオーバーロードされた要素の間接的な変更は効果がありません
MyClass
拡張する場所ArrayObject
。このようにネストされた要素の設定を解除できることに依存するコードがたくさんありますが、どうすればこれを機能させることができますか?
php - PHPのArrayIterator、ArrayObject、およびArrayの違い
機能と操作の観点からArrayIterator
、ArrayObject
とPHPの基本的な違いを誰かが明確に説明できますか? Array
ありがとう!