我想将字符串传递给对象

时间:2017-07-04 16:58:27

标签: php arrays json casting

我正在使用一个使用类对象的小部件,如下所示:

$p->data = array(array(array('01-Jan-2017',200),array('02-Feb-2017',210)));

但是我想使用来自Db的数据动态构建这个数组来扩展数组结构,例如:

$wstr = "array(array(array('$varR1C1,$varR1C2),array('$varR2C1',$varR‌​2C3),array('$varR3C1‌​',$varR3C2),array(ar‌​ray('$varR4C1',$varR‌​4C2),array('$varR5C1‌​',$varR5C2),array('$‌​varR6C1',$varR6C2)))‌​;"

这将启用(使用窗口小部件)带有2行的折线图,每行3个配对值。如果我再尝试:

$p->data = $wstr;

这不起作用。如何将字符串转换为对象?我尝试过JSON_encode,但这也不起作用,即:

$p->data = substr(json_encode($wstr),1,strlen(json_encode($wstr))-2)

其中substr摆脱“来自编码(已尝试过& without!)

1 个答案:

答案 0 :(得分:0)

如果我理解正确,在您的PHP代码中,您有变量$var1$var2$var3$var4,并且您希望使用这些变量来填充数组示例中的硬编码值?

如果是这样,为什么不简单

$p->data = array(array( array($var1, $var2), array($var3, $var4) ));

BTW,使用现代语法(PHP 5.4及更高版本),我们更喜欢使用较短的数组语法(对于来自其他语言的人更熟悉),其中您的代码将如下所示:

$p->data = [ [ [$var1, $var2], [$var3, $var4] ] ];