所以我有記憶了消息一個問題...簡單的PHP遞歸 - 爲什麼我的內存不足?
我有一個類(控制器)與指數法...是這樣的:
function index($parent=0){
$this->__set_all_cats();
foreach($this->CATS as $CAT){
...
if($CAT["parent_id"] == $parent) $this->__set_all_sub_cats($CAT["id"]);
...
}
}
function __set_all_cats(){
$CATS = ...get array from db
foreach($CATS as $CAT){
$this->CATS[$CAT["id"]] = $CAT;
}
}
function __set_all_sub_cats($cat_id, $start = 1){
if($start) $this->subs=array();
$this->subs[] = $cat_id;
$CAT = $this->CATS[$cat_id];
$parent = $CAT["parent_id"];
foreach($this->CATS as $C){
if($C["parent_id"] == $parent){
$this->__set_all_sub_cats($C["id"], 0);
}
}
}
其中$這個 - > CATS是從數據庫獲取與周圍只有3000行的數組...
每一行看起來是這樣的
Array(
[id] => 18674
[importer_id] => 6
[parent_id] => 0
[category_id] => 1
[category_name] => Category name
[category_slug] => category0slug
[private_category_id] => 0
[trader_category_id] => 951
)
所以沒什麼大不了的......我已經設置php_ini使用128M ...和我得到:
致命錯誤:用盡134217728個字節允許存儲器大小(試圖分配35個字節)d:\根\應用\ my.controller.php在線
我的目標是獲得,將有另一firled布爾類型的所謂is_set父貓列表...的is_set值爲TRUE時,所有的孩子們(和個體經營)將trader_category_id設置爲0以外...
所以這就是爲什麼我需要讓所有的孩子每個父母的貓......
可以在數據庫中查詢(MySQL的)單獨做了什麼?
我很抱歉...一旦我得到我需要的東西,我從來不會感到「接受」答案......對我感到羞恥!我會馬上去做;)謝謝你的時間! –
嗯...我再次回顧我的問題,接受是正確的......可悲的是,我從來沒有從那些沒有接受的問題中得到有用的答案。但是看起來你很抱歉檢查這個數字!對你有好處 –
@Tomalak Geret'kal「壓力」?這只是評論家,不要高估它。 DS_web_developer,抱歉,如果它是「有害的」,但是當用戶甚至不花費1秒的時間說「謝謝」答案時,它真的很煩人。有時需要30-50分鐘才能寫出答案(特別是在代碼中)。 –