在Javascript / Smarty中访问PHP stdClass对象

时间:2012-06-21 20:18:58

标签: php javascript smarty stdclass

我有一个stclass对象,我在PHP代码中初始化。 对象返回

object(stdClass)[238]
  public '0' => string 'Jun 20, 2012 03:02 PM' (length=21)
  public '1' => string 'Jun 20, 2012 03:26 PM' (length=21)
  public '2' => string 'Jun 21, 2012 01:12 PM' (length=21)

执行var_dum($ myObjectName)

我将此传递给smarty模板,我需要根据javascript变量访问index [i]中的stdClass对象的值。

我尝试了其中几种:

{/literal} {$myObjectName}{literal} 
{/literal} {$myObjectName.0}{literal} 
{/literal} {$myObjectName.'0'}{literal} 
{/literal} {$myObjectName.'myLocalJSVariable'}{literal} 

但我不打算在特定索引

获取Object的值

3 个答案:

答案 0 :(得分:0)

您是否尝试过{$myObjectName->0}

如果要以使用数组的方式使用它,则必须将对象的数组版本传递给Smarty:

$smarty->assign('myObjectName', get_object_vars($obj));

get_object_vars()方法从对象返回所有属性的命名数组。

答案 1 :(得分:0)

我建议您使用json_encode()将数据转储到json,将其保存到javascript可访问的内容,然后从javascript访问您的数据吗?

{$myObjectName->javaScriptVariable}听起来就像您试图访问服务器上的某些客户端数据或客户端上的某些服务器数据一样 - 除非您提供数据,否则这是不可能的。

答案 2 :(得分:0)

为什么不通过巧妙的方式来引用你的对象?

$smarty->assign('myObjectName', &$obj);

然后在smarty中你可以使用{$ myObjectName-> whatever}语法......