問題タブ [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.

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

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