
18-07-2009, 06:10
|
|
|
|
חבר מתאריך: 22.06.06
הודעות: 44
|
|
|
שאלת רקורסיה
היי לכולם
יש לי:
קוד:
$var = array(
1 => array(
'id'=>1,
'parent'=>0,
'subs'=>array()
),
2 => array(
'id'=>2,
'parent'=>1,
'subs'=>array()
),
3 => array(
'id'=>3,
'parent'=>0,
'subs'=>array()
),
4 => array(
'id'=>4,
'parent'=>0,
'subs'=>array()
),
);
ואני רוצה להגיע למצב כזה:
קוד:
$var = array(
1 => array(
'id'=>1,
'parent'=>0,
'subs' => array(
2 => array(
'id'=>2,
'parent'=>1,
'subs'=>array()
),
),
),
3 => array(
'id'=>3,
'parent'=>0,
'subs'=>array()
),
4 => array(
'id'=>4,
'parent'=>0,
'subs'=>array()
),
);
קצת הסבר:
יש בעצם מערך ממוספר (לא בהכרח בסדר עוקב) שכולל בתוכו מערכים, כאשר בתוך כל מערך יש id, parent,subs. אני רוצה להגיע למצב (כמו שהצגתי בקוד) שכל ערך במערך שהparent שלו שונה מ0 יכנס לתוך מערך הsubs של הparent שלו.
למשל בקוד שהצגתי למעלה, ניתן לראות שלערך שמספרו 2 מוגדר parent שמספרו 1, לכן אני רוצה שהתוכן של 2 יכנס לתוך subs של 1.
במידה והיה עוד ערך שהparent שלו הוא 2 נניח, אז שאותו מערך של הערך יכנס לתוך ה subs של 2, שבעצם נמצא בתוך הsubs של 1 ,וכך הלאה - ברקורסיה.
יש למישהו רעיון (כמובן בפונקציה רקורסיבית)?
|