2016-11-04 68 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

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

相关问题