Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 调用同一类的嵌套类_Php_Class_Nested_Subclass - Fatal编程技术网

Php 调用同一类的嵌套类

Php 调用同一类的嵌套类,php,class,nested,subclass,Php,Class,Nested,Subclass,是否可能有一个子类与同一个类 e、 g 例如,一个用户的朋友列表包含许多用户 一个文件夹类,其子类将包含许多文件夹 在类结构中定义此类类的正确方法是什么 如果类别不同,我在分类上没有问题。类“car”和子类“tires”,但如果我将同一个类添加到该类中,则会遇到问题 ========================================================================= 增加 这是我的实际代码,我在一个类别名中有一个类别名,并分配到数组$This->ch

是否可能有一个子类与同一个类

e、 g

例如,一个用户的朋友列表包含许多用户

一个文件夹类,其子类将包含许多文件夹

在类结构中定义此类类的正确方法是什么

如果类别不同,我在分类上没有问题。类“car”和子类“tires”,但如果我将同一个类添加到该类中,则会遇到问题

========================================================================= 增加

这是我的实际代码,我在一个类别名中有一个类别名,并分配到数组$This->children

假设我在$res循环中的长度为2,我期望的输出是

-ff--ff-

但它只是出现了

-ff-

但是,如果我注释掉问题行,则循环按预期工作,输出

--ff--ff-


有什么想法吗?

foreach($users\u from\u db as$uid=>$data)行的
{
有一个开始的大括号,但没有结束的大括号,这是一个打字错误吗?我不明白为什么这会造成任何麻烦。如果你更准确地了解遇到的问题的性质,也许会更容易帮助你。顺便说一句,你的代码看起来很PHP4ish…这是完全可能的。“问题”是什么有了这些代码?我编辑了这篇文章来展示更多的代码和问题,谢谢你帮助outGlobal关键字在OOP中没有任何用处。它破坏了封装。使用依赖注入。另外,帮你自己一个忙,写下三个月后你仍能理解的代码。fup、k、v、res和tt毫无意义,让人们猜测它们包含的内容。如果您想修复出现的任何错误,然后重写代码。
Class user{
    var $name,$age,$gender,$freinds_list;
    function get_name(){
    }

    function get_friends(){
         foreach($users_from_db as $uid=>$data){
         $this->friends_list[] = new user($data);    //The problem is here
    }

    function print_all_friends_name(){
          foreach($this->friends_list as $user_obj){
                  echo $user_obj->get_name;
           }
}
class alias{
       ................
function get_folders($fup=null){
    global $USER,$tt;       

    $fup = $fup? $fup : $this->aid;
    $k = array('fup','type');
    $v = array($fup,1);
    $res = $tt->services['folder_files']->search($k,$v);
    $folder_list = array_keys($res);

    foreach($res as $aid=>$v){
        echo "-ff-";    
        $this->children[$aid]= new alias($aid,$v);  //Problem line
    }       
    return $folder_list;    
}
 }