Php 数组和覆盖(无全局数组)
如何在其他类中重写该表,并在第一个和三个字段中显示它Php 数组和覆盖(无全局数组),php,Php,如何在其他类中重写该表,并在第一个和三个字段中显示它 <?php class A { public $tab = array(); public function wyswietl() { $this->tab['id'] = '1'; foreach ($this->tab as $key => $value) { print $key .' = '. $value; } } } class B { pu
<?php
class A {
public $tab = array();
public function wyswietl() {
$this->tab['id'] = '1';
foreach ($this->tab as $key => $value) {
print $key .' = '. $value;
}
}
}
class B {
public function dodajB() {
$this->tab['desc'] = 'descriptions';
}
}
class C
{
public function dodajC() {
$this->tab['name'] = 'names';
}
}
$ob = new A;
$ob2 = new B;
$ob2->dodajB();
$ob3 = new C;
$ob3->dodajC();
$ob->wyswietl();
?>
您的问题令人困惑,但我认为您正在寻找:
class B extends A {
public function dodajB(){
$this->tab['desc'] = 'descriptions';
}
}
class C extends B {
...
ob被定义为类A的对象。要获得所有三列,您需要将其设置为类C,并使C从B扩展,B从A扩展。我还建议使用_构造函数为您构造对象。另外,您引用的是tab的局部变量,而不是使用该类来引用它的类 请参阅下面的代码,该代码执行上述所有操作:
<?php
class A
{
public $tab = array();
public function __construct()
{
$this->tab['id'] = '1';
}
public function wyswietl()
{
foreach ($this->tab as $key => $value)
{
print $key .' = '. $value . "\n";
}
}
}
class B extends A
{
public function __construct()
{
parent::__construct();
$this->tab['desc'] = 'descriptions';
}
}
class C extends B
{
public function __construct()
{
parent::__construct();
$this->tab['name'] = 'names';
}
}
$ob = new A;
$ob2 = new B;
$ob3 = new C;
echo 'A: ';
$ob->wyswietl();
echo "\n\n";
echo 'B: ';
$ob2->wyswietl();
echo "\n\n";
echo 'C: ';
$ob3->wyswietl();
echo "\n\n";
?>
请改进您的问题,以便我们清楚地了解您的问题。在那之前,我投票决定结束。