当我更改对象中的值时,我通常会这样做:
对象
Array
(
[0] => stdClass Object
(
[created] => 1411033208
[title] => test
[description] => more test
)
[1] => stdClass Object
(
[created] => 1411033208
[title] => test2
[description] => more test 2
)
)
代码
$list = array();
foreach ($entries AS $entry)
{
$entry->created = date('Y-m-d', $entry->created);
$list[] = $entry;
}
有更聪明的方法吗?
答案 0 :(得分:0)
无需存储到$ list或其他数组,您可以直接修改它。假设你追求的是什么。
foreach ($entries AS $entry)
{
$entry->created = date('Y-m-d', $entry->created);
}
答案 1 :(得分:-2)
我认为更聪明的方法是在课堂上使用魔术方法。魔术方法__get和__set将允许您在代码中稍后分配对象属性。
class GlobalClass{
//Magic Methods
public function __set($name, $value){
$this->data[$name] = $value;
}
public function __get($name){
if (array_key_exists($name, $this->data)) {
return $this->data[$name];
}
}
}
然后你可以创建一个对象并为其分配任何属性:
$gc = new GlobalClass();
$gc->myProperty = 'Yaaay';
然后稍后使用它:
echo $gc->myProperty;
希望这是有道理的!