sun*_*tch 1 php arrays object default-value
我有一个返回对象数组的函数:
<?php
function sth()
{
return (object) array(
"obj1" => $obj1,
"obj2" => $obj2,
"obj3" => $obj3
);
}
$obj = sth();
echo $obj;
?>
Run Code Online (Sandbox Code Playgroud)
这里我想定义$ obj的默认值.它将返回默认值而不是$ obj1,$ obj2,$ obj3.
如何定义默认值?
您需要向对象添加实际功能才能实现此目的.简单地将数组转换为对象只会创建一个包含某些值的对象,它与数组没有太大区别.有没有对任何数组或对象的"默认值"的概念,以唯一的办法模拟这个概念是使用魔术方法实现它,在这种情况下__toString.因此,您需要创建一个类似于此的类:
class ObjectWithDefaultValue {
public function __construct($params) {
// assign params to properties
...
}
public function __toString() {
return $this->obj1;
}
}
function sth() {
$obj = new ObjectWithDefaultValue(array(
"obj1" => $obj1,
"obj2" => $obj2,
"obj3" => $obj3
));
return $obj;
}
$obj = sth();
echo $obj;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1007 次 |
| 最近记录: |