2

我正在尝试使用传递给函数的变量来获取对象值。这是我正在尝试做的一个简单示例:

function get_date($object, $date_name)
{
    // this should execute like "$project->date_of_project"
    return formatted_date($object->$date_name);
}

echo get_date($project, 'date_of_project');

我收到此警告(但确实显示了日期):

Trying to get property of non-object

我在几个地方阅读了以下内容(但它不起作用):

$object->{$date_name}[0]

Avar_dump显示该属性在那里:

object(stdClass)#33 (1) {
    ["date_of_project"]=>
    string(19) "2013-04-25 00:00:00"
}

更新:这是警告的屏幕截图。您可以看到日期有效,但警告仍然存在。第 53 行是我的$object->$date_name.

4

2 回答 2

0

您的语法是正确的,但 $project 不是对象。你如何初始化 $project?

于 2013-09-17T20:32:23.647 回答
0

也许你需要像在其他语言中那样输入变量我知道在c#中我必须定义变量,它可以像

函数 get_date(项目 $object, DateTime 日期)
{ .... }

也许php中有类似的东西。

还要确保该属性存在,我对 php 的经验是您可以动态创建变量,这可能是好事也可能是坏事

如果我没记错的话,“var”和“var”也有区别

于 2013-09-17T20:44:36.247 回答