打印位于对象内的数组内的对象的变量

printing an variable of an object that's inside an array that's inside an object

好吧,我一直在尝试让我的 crm 为每家公司打印多个联系人,但我无法让它工作

公司是class,公司联系人是class

//class 呼叫公司

 function __construct($idklanten,$naam,$adres,$postcode,$stad,$contacten){
    $this->idklanten=$idklanten;
    $this->naam=$naam;
    $this->adres=$adres;
    $this->postcode=$postcode;
    $this->stad=$stad;
    $this->contacten=$contacten;

}

//class 呼叫联系人

    function __construct($idcontactklanten,$voornaam,$tussenvoegsel,$achternaam,$tel,$email,$klantID){
    $this->idcontactklanten=$idcontactklanten;
    $this->voornaam=$voornaam;
    $this->tussenvoegsel=$tussenvoegsel;
    $this->achternaam=$achternaam;
    $this->tel=$tel;
    $this->email=$email;
    $this->klantID=$klantID;
}

//获取联系人姓名

  function getNaam() {
    if(strlen($this->gettussenvoegsel()) == 0) {

        return $this->getvoornaam()." ".$this->getachternaam()."";
    }
    else {


        return $this->getvoornaam() . " "  . $this->gettussenvoegsel() . " " .  $this->getachternaam();
    }
}

//从我的对象公司获取姓名的函数,包含联系人对象的数组

 function getcontacten(){           
        $ct=$this->contacten[$teller];
        $txt="";
        for($teller=0;$teller<10;$teller++){
            $txt+=$ct->getNaam()."<br>";
        }
     return $txt;
}

然后在我的索引页面上,当我调用 getcontacten() 时,与我的其他 get 函数相比,它不起作用。它只是输出一个 0

感谢任何帮助

你最大的错误是:

$txt+=$ct->getNaam()."<br>";

应该是

$txt.=$ct->getNaam()."<br>";

因为要附加到您使用“.=”的字符串,而不是“+=”。

另外我不知道你的代码的其他部分是否有效,我会写如下内容:

$txt = "";
foreach ($this->contacten as $ct){
    $txt .= $ct->getNaam() . "<br />";
}
return $txt;

$txt = "";
for ($i = 0; $i < count($this->contacten); $i++){
    $txt .= $this->contacten[$i]->getNaam() . "<br />";
}
return $txt;