我需要一些指导或参考我应该怎么做。 我应该做的是,有一个名为Cat的类结构,并有一个输出新对象的静态方法。
class Cat{
public $name;
public $age;
public $string;
static public function ToData($Cat) {
$input = "";
foreach ($Cat as $key => $value) {
$input .= "object: " . $key . "</br>";
}
return $input;
}
}
$name = "meow";
$age = "12";
$string = "'test', 'sample', 'help'";
$Cat = array($name, $age);
$output = Cat::ToData($Cat);
echo $output;
这是我能想到的最好的事情 这是问题,他们说我只使用了一个数组,而不是一个对象。 我使用数组是因为我必须将值放在$ Cat上,以便可以在参数上传递。
答案 0 :(得分:1)
如果你想在这里设置这些值就是你要做的事情
...
foreach ($Cat as $key => $value) {
$this->$key = $value;
}
...
$name = "meow";
$age = "12";
$Cat = array("name"=>$name,"age"=> $age);
$cat = new Cat();
$cat->toData($Cat);
echo $cat->name;
// meow
<强>更新强>:
现在我更了解你想要做什么,这就是你的课程的样子:
class Cat{
public $name;
public $age;
public $string;
static public function ToData($Cat) {
$obj = new self();
$obj->name = $Cat["name"];
$obj->age = $Cate["age"];
$obj->string = $Cate["string"];
return $obj;
}
// echo
public function __toString(){
return "$this->name - $this->age - $this->string";
}
}
现在您可以设置值
$ name =“meow”; $ age =“12”; $ string =“'test','sample','help'”; $ Cat = array($ name,$ age,$ string); $ output = Cat :: ToData($ Cat); echo $ output;
请注意$output
是一个对象
答案 1 :(得分:1)
看起来它是PHP中面向对象编程概念的一项任务。我相信这是你想要完成的事情,评论解释了这些步骤。
class Cat{
public $name;
public $age;
// Output the attributes of Cat in a string
public function ToData() {
$input = "";
$input .= "object: name :".": ".$this->name." </br>";
$input .= "object: age :".": ".$this->age." </br>";
return $input;
}
}
$name = "meow";
$age = "12";
// Instantiate Cat
$Cat = new Cat();
$Cat->name = $name;
$Cat->age = $age;
// Output Cat's attributes
$output = $Cat->ToData();
echo $output;