表中显示的PhP关联数组

表中显示的PhP关联数组,php,associative-array,Php,Associative Array,我对PhP非常陌生。我在网上很难找到答案,尽管我相信你们大多数人很快就会知道答案。我有下面的代码创建一个关联数组,然后我试图在表中显示它。我知道有更简单的方法可以像foreach循环一样在表中显示它,但我想先学习一下这个方法: class CarDealer extends Company { var $navbar_array = array(); function create_navbar_array ( ) { $mainurl = $this->company_

我对PhP非常陌生。我在网上很难找到答案,尽管我相信你们大多数人很快就会知道答案。我有下面的代码创建一个关联数组,然后我试图在表中显示它。我知道有更简单的方法可以像foreach循环一样在表中显示它,但我想先学习一下这个方法:

class CarDealer extends Company {

var $navbar_array = array();

 function  create_navbar_array ( )  {
    $mainurl = $this->company_url;   // get the main url address of this web page
    $this->navbar_array = array( "Home Page"=>"$mainurl?whichpage=home", "Sales"=>"$mainurl?whichpage=sales",
       "Support" => "$mainurl?whichpage=support", "Contacts" => "$mainurl?whichpage=contact" );
 }

function getLeftNavBar() {
$data ="<table border='1' style='background-color:yellow; width:35%'>";
$data .="<tr><td>$this->navbar_array['Home Page']</td></tr>";
$data .="<tr><td>$this->navbar_array['Sales']</td></tr>";
$data .="<tr><td>$this->navbar_array['Support']</td></tr>";
$data .="<tr><td>$this->navbar_array['Contacts']</td></tr>";
$data .="</table>";
return $data;
}

}

在返回$data之前;,打印(数据);因此,您可以了解关联数组的结构。如果它没有打印在页面上,请尝试查看页面源。你会得到一个清晰的画面。我认为$data应该是一个数组,所以它应该是 $data['someField']=$someValues;
并且,在使用数组之前创建或定义数组。

您需要将数组值传递给函数try

class extends Company {

var $navbar_array = array();

 function  create_navbar_array ( )  {
    $mainurl = $this->company_url;   // get the main url address of this web page
    $this->navbar_array = array( "Home Page"=>"$mainurl?whichpage=home", "Sales"=>"$mainurl?whichpage=sales",
       "Support" => "$mainurl?whichpage=support", "Contacts" => "$mainurl?whichpage=contact" );
       return $this->navbar_array;
 }

function getLeftNavBar($arr) {
$data ="<table border='1' style='background-color:yellow; width:35%'>";
$data .="<tr><td>".$arr['Home Page']."</td></tr>";
$data .="<tr><td>".$arr['Sales']."</td></tr>";
$data .="<tr><td>".$arr['Support']."</td></tr>";
$data .="<tr><td>".$arr['Contacts']."</td></tr>";
$data .="</table>";
return $data;
}

}

$carobject = new CarDealer();

$arr = $carobject->create_navbar_array();
print $carobject->getLeftNavBar($arr);

您需要在getLeftNavBar()方法中连接数组值,以便php知道如何解析它们

试一试

你可以这样重写

 class CarDealer  {

   private function getUrls()  {
    return  array( 
      "Home Page"   => "$this->company_url?whichpage=home", 
      "Sales"   => "$this->company_url?whichpage=sales",
      "Support"     => "$this->company_url?whichpage=support", 
      "Contacts"    => "$this->company_url?whichpage=contact" 
    );

  }

public function getLeftNavBar() {

    $data ="<table border='1' style='background-color:yellow; width:35%'>";

    foreach($this->getUrls() as $url ) {
        $data .="<tr><td>".$url."</td></tr>";
    }

    return  $data . "</table>"; 
   }

  }


 $carobject = new CarDealer();
 print $carobject->getLeftNavBar();
class卡迪勒{
私有函数getURL(){
返回数组(
“主页”=>“$this->company\u url?whichpage=Home”,
“销售”=>“$this->company\u url?whichpage=Sales”,
“支持”=>“$this->company\u url?whichpage=Support”,
“联系人”=>“$this->company\u url?whichpage=contact”
);
}
公共函数getLeftNavBar(){
$data=“”;
foreach($this->getUrls()作为$url){
$data.=''.$url.'';
}
返回$data。”;
}
}
$carobject=new CarDealer();
打印$carobject->getLeftNavBar();

工作正常。我只需要包含HTML
public $navbar_array = array();
 $data .="<tr><td>{ $this->navbar_array['Home Page'] }</td></tr>";
 $data .="<tr><td>".$this->navbar_array['Sales']."</td></tr>";
function getLeftNavBar()   {
   $this->create_navbar_array();
  .....
 class CarDealer  {

   private function getUrls()  {
    return  array( 
      "Home Page"   => "$this->company_url?whichpage=home", 
      "Sales"   => "$this->company_url?whichpage=sales",
      "Support"     => "$this->company_url?whichpage=support", 
      "Contacts"    => "$this->company_url?whichpage=contact" 
    );

  }

public function getLeftNavBar() {

    $data ="<table border='1' style='background-color:yellow; width:35%'>";

    foreach($this->getUrls() as $url ) {
        $data .="<tr><td>".$url."</td></tr>";
    }

    return  $data . "</table>"; 
   }

  }


 $carobject = new CarDealer();
 print $carobject->getLeftNavBar();