php函数返回null而不是字符串 [英] php function returns null instead of string

查看:47
本文介绍了php函数返回null而不是字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数组,其中存储了所有类别:

I have an array with all categories stored in it:

$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时,我需要检测层次结构中最高的类别.所以我有这个功能:

I need detect the highest category in hierarchy when i have id of lower category in hierarchy. So I have this function:

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;
  }
}

尝试使用此功能时遇到麻烦:

I'm getting trouble when trying to use this function:

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

有什么想法吗?

推荐答案

替换为:

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

使用

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

因为当开始 $ pid!="0" 时,该函数不返回任何内容->您的 NULL

because when $pid != "0" on the start, the function return nothing -> your NULL value

这篇关于php函数返回null而不是字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆