問題タブ [descendant]
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 - 親ゲートの子孫を、ルート化された有向非巡回ツリーの子オブジェクト (ノードとゲート) の 1 次元配列として取得します
私のルート化された有向非巡回ツリーは、論理ゲート(および、または、xor ...) とノードで構成されます。
ノードとゲート、それぞれがオブジェクトです。
ゲートだけが親になることができます。
各ゲートオブジェクトには、 publicとしてchildrenプロパティがあります。childrenは、オブジェクトの配列または空の配列にすることができます。
以下は私の場合の有効なツリーです。(g:ゲート、n:ノード)
私の目的
オブジェクトの配列の形式でゲートの子孫を取得します。(例: print_r($gate1->getDescendants())
)
私の質問
これは私の最初の oop 体験です。仕事に関連する小さなアプリを作成しようとしています。以下の私のコードでは、問題のある部分が次のとおりであることを理解しています。$this->descendants[] = $obj;
この行を に変更して$descendants
も、変数のスコープの問題により、出力は依然として不適切です。
どうすれば$gate1->getDescendants()
正常に動作するようになりますか?
適切な出力が期待される
以下のツリーの 7 つの子オブジェクトの 1 次元配列。(g:ゲート、n:ノード)
私が得た不適切な出力
コード: クラス ノード、クラス ゲート、try.php
クラスゲート
try.php