2016-11-04 66 views
1

我有存儲在它的所有類別的數組:PHP函數返回NULL,而不是字符串

$allCatArray = array(
         ['departments/outdoor/123123/'] => stdClass Object 
          (
           [i] => 1 
           [id] => 'departments/outdoor/123123/' 
           [pid] => 'departments/outdoor/' 
           [name] => 'Child Category Name' 
         ) 
         ['departments/outdoor/'] => stdClass Object 
          (
          [i] => 1 
          [id] => 'departments/outdoor/' 
          [pid] => '0' 
          [name] => 'Main Category Name' 
         ) 

我需要檢測的最高類別中的層次結構,當我在較低層次類別ID。所以我有這樣的功能:

function findMainCategoryFromAllCatArray($initial_category, $allCatArray) { 
    $pid = trim($allCatArray[$initial_category]->pid); 
    if($pid != "0") { 
    findMainCategoryFromAllCatArray($pid, $allCatArray); 
    } 
    elseif($pid == "0") { 
    var_dump($allCatArray[$initial_category]->name); // this var dump returns normal value 
    return $allCatArray[$initial_category]->name; 
    } 
    else { 
    return false; 
    } 
} 

嘗試使用此功能時,我越來越麻煩:

$category_name = findMainCategoryFromAllCatArray('departments/outdoor/123123/', $allCatArray); 
var_dump($category_name); // returns NULL instead of "Main Category Name" 

任何想法?

+1

不必返回主U類獲得from findMainCategoryFromAllCatArray($ pid,$ allCatArray); – coder

回答

4

替換此:

if($pid != "0") { 
    findMainCategoryFromAllCatArray($pid, $allCatArray); 
} 

if($pid != "0") { 
    return findMainCategoryFromAllCatArray($pid, $allCatArray); 
} 

,因爲當上入手,函數返回什麼$pid != "0" - >您NULL

+0

它的工作原理!非常感謝 :) –

相關問題