問題タブ [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 - ArrayObject::STD_PROP_LIST を使用する理由
ArrayObject::STD_PROP_LIST フラグで ArrayObject を使用する例は見つかりません。 http://www.php.net/manual/en/arrayobject.setflags.php このフラグで ArrayObject を使用する例を教えてください。
jquery - $.each を使用した配列オブジェクトの作成が機能しない
JQGrid を使用してローカル テーブルを作成しようとしています。配列を変更するまではすべて正常に機能しています。作業コードは次のとおりです。
HTML コード:
JS コード
ここから実行することもできます: http://jsfiddle.net/bYQn6/2/
ここで、Obj 配列を次のように変更すると:
この「mydata」を印刷すると、上記の「mydata」とまったく同じように見えますが、機能しません:(
私は何を間違っていますか??
ありがとうございました!!!
javascript - 変数プロパティでjsオブジェクトパラメータを使用する
次の配列があります。
これはphp配列です。(私はjsonエンコーディングを使用します)
今、私はテーブルを作成したいと思います。次のコードを使用しました。
var headers = data.searchEngineOrder;
上記のようにコード brands[x].keyword
またはbrands[x].Googleは機能しています。しかし、キーワードまたはグーグルを変数として使用した場合、それは機能しません。
私を助けてください。どうすればいいですか?
php - 関数の非互換性のオーバーライド
TL;DR
このようにオーバーライドoffsetSet($index,$value)
したいのですが、致命的なエラーが発生します(「宣言は互換性が必要です」)。ArrayObject
offsetSet($index, MyClass $value)
何となぜ
ArrayObject
すべての値を特定のオブジェクトに強制する子クラスを作成しようとしています。私の計画は、値を追加するすべての関数をオーバーライドし、それらに型ヒントを与えることでこれを行うことでした。MyClass
どのように
最初append($value);
のストップ: SPL から:
私のバージョン:
魔法のように機能するようです。
2 番目の停留所:offsetSet($index,$value);
繰り返しますが、SPL から:
そして私のバージョン:
ただし、これにより、次の致命的なエラーが発生します。
致命的なエラー: Namespace\MyArrayObject::offsetSet() の宣言は、ArrayAccess::offsetSet() の宣言と互換性がある必要があります
次のように定義すると、問題ありません。
質問
offsetSet()
上記のコードでオーバーライドが機能しないのはなぜappend()
ですか?- およびの定義に
exchangeArray()
nextの定義を追加すると、オブジェクトを追加するすべての関数を使用できますか?append()
offsetSet()
php - ArrayObjectを使用すると、値を繰り返し処理しているときに値の設定を解除できません。
私はこの通知を受け取りました:
ArrayIterator :: next():配列がオブジェクトの外部で変更され、内部位置が/ var /www..で無効になりました。
これは、foreachループの開始時にこのコードによって生成されます。通知とともに、foreachループが繰り返し開始されます。つまり、このようなことが起こると、内部位置がリセットされます。しかし、phpマニュアルによると、ArrayObjectはデフォルトでArrayIteratorを使用しています。
そしてマニュアルはArrayIteratorについてこれを言います
このイテレータを使用すると、配列とオブジェクトを反復処理しながら、値とキーの設定を解除して変更できます。
ここで何かが足りませんか?ArratIteratorに関するバグレポートをいくつか見つけましたが、この種のものは見つかりませんでした。それはバグですか、それとも私の悪いですか?
バージョン:PHPバージョン5.3.10-1ubuntu3.4
javascript - オブジェクトの配列を並べ替えて重複エントリを排除する
私はこのオブジェクトの配列を持っています
いくつかのオブジェクト エントリが配列に追加された後
ArrTdsObjects
ベースに格納されているオブジェクトの重複を排除したいcurTdID
意味: 大きい方のセル番号がそれを持っている場合、配列内の同じセルの最初のセルはId
除外されますid
小さいインデックス番号の配列項目が大きいセル番号に存在する場合、配列に最後に追加された項目が保存されることを意味する場合、それらを削除するにはどうすればよいですか?
php - PHP の配列オブジェクトの値を検索する
このような配列があります.HOSP2のような特定の値を検索したい.インデックスで値を取得するプロセスは何ですか.
php - Spl、ArrayObject、ArrayObject :: STD_PROP_LIST
ドキュメントでSTD_PROP_LIST定数を理解しようとしていますが、これまでのところ理解できず、説明も見つかりませんでした:(ドキュメントには次の例があります。
どちらのプリントでも、まったく同じ結果が得られます。
この定数を使用するかどうかの違いは何ですか?
前もって感謝します!
php - ArrayIterator と ArrayObject の flags パラメータは何をしますか?
PHP のコンストラクターには、次のように文書化されArrayIterator
てArrayObject
いるflags
パラメーターがあります。ArrayObject::setFlags()
ArrayObject::STD_PROP_LIST
オブジェクトのプロパティは、リスト (var_dump、foreach など) としてアクセスした場合、通常の機能を持ちます。
ArrayObject::ARRAY_AS_PROPS
エントリはプロパティとしてアクセスできます (読み取りおよび書き込み)。
ArrayIterator::setFlags() のドキュメントも同様です (違いは間違いです)。
これで、2 番目のフラグをよく理解できました。これにより、プロパティ アクセスと->
配列アクセスが可能になり[]
ます。
しかし、私は頭を包むことができませんArrayObject::STD_PROP_LIST
。私がテストした限り、このフラグの有無にかかわらずまったく同じように動作しますvar_dump
。foreach
ここで何が欠けていますか?
php - PHP 再帰的に ArrayObject を連想配列に変換する
こんにちは、コールバックして再帰的に anArrayobject
を連想配列に変換するメソッドがありますが、残念ながら致命的なエラーが発生しています
これが私の方法です
そして、これがサンプルですArrayObject