Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript/Smarty中访问PHP stdClass对象_Php_Javascript_Smarty_Stdclass - Fatal编程技术网

在Javascript/Smarty中访问PHP stdClass对象

在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

我有一个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变量访问索引[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,否则不需要通过引用传递对象。