PHP新手請教各位一個問題,現已通過遞迴從資料庫中抓出來一個員工的所有下屬(包括下屬的下屬),print_r ($sub)效果如下:
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 ( ) ) ) ))
現在的需求是,寫一個函數,遍曆這個多級數組,然後產生一個新的一維數組,類似這樣:
Array( [0] => User Object ( [userId] => 365 [name] => aa [cn_name] => 王A [job] => A地區銷售工程師 [rep_id] => 368 ) [1] => User Object ( [userId] => 367 [name] => cc [cn_name] => 王C [job] => A地區銷售主管 [rep_id] => 368 ) [2] => User Object ( [userId] => 379 [name] => mm [cn_name] => 黃XX [job] => 銷售工程師 [rep_id] => 367 ) [3] => User Object ( [userId] => 381 [name] => abc [cn_name] => 張abc [job] => 銷售工程師 [rep_id] => 379 ) [4] => User Object ( [userId] => 380 [name] => xxxx [cn_name] => 張XX [job] => 銷售工程師 [rep_id] => 367 ))
感覺這是數組的基本應用,但是一下腦子短路了,半天沒搞出來,所以求教各位,希望各位大神賜教,拜謝!
回複討論(解決方案)
都下班過節去了嗎?苦逼的還要加班。。
用foreach(xxx as key=>value)讀,新的數組賦值。
用foreach(xxx as key=>value)讀,新的數組賦值。
這個只能讀到第一級元素,第二級以後的就會丟掉了。。
遞迴產生的,當然也要遞迴降維
遞迴產生的,當然也要遞迴降維
恩是的,還是要用遞迴和全域變數才行,已經搞定了,謝謝