PHP PDOでのmySQLクエリの出力を以下に示します。このオブジェクトには、2つのテーブルの複数の列が含まれ、これらの列は単一のオブジェクトに結合されます。オブジェクトのキーが不明で、オブジェクトのサブキーが既知の場合にPHPオブジェクトを割り当てる
同じテーブルの一部の行は、列parent_ID
によって識別される他の行の子です。これらの子どもは、子どものように親のオブジェクトに追加する必要があります。
子供の最初の2つのレベルでこれを達成することができるのと同じくらい、私はオブジェクトの最初の層を超えてこれを達成するために別のforeachを実行することなく方法を見ることができません。
この例では、上記に明確さを追加する必要があります
foreach($components as $component){
if($component->parent_ID < 0){
$output->{$component->ID} = $component;
}
else if($output->{$content->parent_ID}){
$output->{$content->parent_ID}->child->{$component->ID} = $component;
}
else if($output->?->child->{$conent->parent_ID}){
$output->?->child->{$content->parent_ID}->child->{$component->ID} = $component;
}
}
ない3行目にありますか?そこに通常IDがあります。これは、IDがどんなものになるかわからないからです。最初のレイヤーではparent_IDなので、この行は親の子の子を扱っているために行いました。
私はあなたが木を持っていることを正しく得ましたか? – Rulisp
@Rulispそれは技術用語ですか? –
https://en.wikipedia.org/wiki/Tree_(data_structure) – Rulisp