所以问题很简单,我需要从一个函数返回多个值,有人可以建议我怎么做吗?下面的代码:
<?php
abstract class Products
{
protected $name;
protected $price;
public function __construct($name, $price)
{
$this->name = $name;
$this->price = $price;
}
public function getName()
{
return $this->name;
}
public function getPrice()
{
return $this->price;
}
}
// A new class extension
class Furniture extends Products
{
protected $width;
protected $height;
protected $length;
public function getSize()
{
// return $this->width;
// return $this->height;
// return $this->length;
// return array($this->width, $this->height, $this->length);
}
}
据我了解,当我返回某些东西时,它将停止该函数,所以我理解为什么我不能只返回3次。尝试返回数组失败,并显示错误消息“注意:数组到字符串的转换”。
任何人都可以让我知道如何退还所有这三个物品吗?
答案 0 :(得分:1)
如果将函数更改为返回数组,如下所示:
class Furniture extends Products
{
protected $width;
protected $height;
protected $length;
public function getSize()
{
return [
'width' => $this->width,
'height' => $this->height,
'length' => $this->length
];
}
}
然后您可以像这样访问数据:
$furniture = new Furniture;
$size = $furniture->getSize();
$height = $size['height'];
通过数组返回多个数据值是很常见的事情。另一种方法是使用stdClass,在这种情况下,其结果几乎相同。