在Javascript/Smarty中访问PHP stdClass对象
我有一个stclass对象,我正在用PHP代码初始化它。 对象返回在Javascript/Smarty中访问PHP stdClass对象,php,javascript,smarty,stdclass,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
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变量访问索引[I]处stdClass对象的值
我试过以下几种:
{/literal} {$myObjectName}{literal}
{/literal} {$myObjectName.0}{literal}
{/literal} {$myObjectName.'0'}{literal}
{/literal} {$myObjectName.'myLocalJSVariable'}{literal}
但我无法获取特定索引处对象的值您是否尝试过
{$myObjectName->0}
如果要以使用阵列的方式使用该对象,必须将该对象的阵列版本传递给Smarty:
$smarty->assign('myObjectName', get_object_vars($obj));
该方法返回对象中所有属性的命名数组。我建议您使用该方法将数据转储到json,保存到javascript可访问的内容,然后从javascript访问数据
{$myObjectName->javaScriptVariable}
听起来就像您试图访问服务器上的一些客户端数据,或者客户端上的一些服务器数据-除非您提供数据,否则这是不可能的。为什么不将对象的引用传递给smarty
$smarty->assign('myObjectName', &$obj);
然后在smarty中,您可以使用{$myObjectName->whatever}语法…哪种解决方案?第一个,使用对象本身,或者第二个,将其作为数组传递?第一个。。。我需要在模板文件中使用myObjectName->3值。数字3是一个javascript变量,我将分配给代码,以便我访问对象成员的代码变成:{$myObjectName->javaScriptVariable}PHP的
var\u dump($yourObject)
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 212012 01:12 PM'(length=21)public'3'=>string'Jun 212012 01:25 PM'(length=21)好的,您使用的是Smarty2还是Smarty3?除非您运行的是PHP4,否则不需要通过引用传递对象。