ホームページ >バックエンド開発 >PHPチュートリアル >マルチレベル配列の走査問題

マルチレベル配列の走査問題

WBOY
WBOYオリジナル
2016-06-23 13:27:561112ブラウズ

PHP 初心者の方に質問です。再帰によって従業員のすべての部下 (部下の部下を含む) を取得しました。 print_r ($sub) の効果は次のとおりです。必要なのは、関数を作成し、このマルチレベル配列を走査し、次のような新しい 1 次元配列を生成することです:

Array(    [0] => User Object        (            [userId] => 365            [name] => aa            [cn_name] => 王A            [job] => A区域销售工程师            [rep_id] => 368            [sub] => Array                (                )        )    [1] => User Object        (            [userId] => 367            [name] => cc            [cn_name] => 王C            [job] => A区域销售主管            [rep_id] => 368            [sub] => Array                (                    [0] => User Object                        (                            [userId] => 379                            [name] => mm                            [cn_name] => 黄XX                            [job] => 销售工程师                            [rep_id] => 367                            [sub] => Array                                (                                    [0] => User Object                                        (                                            [userId] => 381                                            [name] => abc                                            [cn_name] => 张abc                                            [job] => 销售工程师                                            [rep_id] => 379                                            [sub] => Array                                                (                                                )                                        )                                )                        )                    [1] => User Object                        (                            [userId] => 380                            [name] => xxxx                            [cn_name] => 张XX                            [job] => 销售工程师                            [rep_id] => 367                            [sub] => Array                                (                                )                        )                )        ))


これは配列の基本的な応用だと感じますが、私の脳はショートしていて、ずっと分からなかったのでアドバイスを頂ければ幸いです、よろしくお願いします。



ディスカッション(解決策)への返信

皆さんは連休はお休みですか?難しい人は残業しなければなりません。 。

新しい配列値を読み取って割り当てるには、foreach(xxx as key=>value) を使用します。

新しい配列値を読み取って割り当てるには、foreach(xxx as key=>value) を使用します。

これは第 1 レベルの要素のみを読み取ることができ、第 2 レベル以降の要素は失われます。 。

もちろん、再帰によって生成された場合は再帰的に削減する必要があります


再帰によって生成された場合は、もちろん再帰的に削減する必要があります

はい、やはり再帰変数とグローバル変数を使用する必要があります。完了しました

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。