eval的问题,头大,各位大侠帮帮忙

fwsland 2009-01-14 11:24:52
我希望输出的是“i am zhangsan”,可是现在缺输出“i am Array['name']”,应该是我使用eval的问题,哪位大侠可否帮我一下,跪谢

代码如下:
<?php
class user
{
private $vars= array();

public function init()
{
$this->vars["name"] = "zhangsan";
}

public function show()
{
$sayme = "i am $this->vars['name']";
eval("?>" . $sayme . "<?");
}
}

$me = new user();
$me->init();
$me->show();
?>
...全文
75 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cayleung 2009-01-15
  • 打赏
  • 举报
回复
..........
$sayme = "i am ".$this->vars['name'];
在双引号里放变量是个不好的习惯~~
frederic_zhao 2009-01-15
  • 打赏
  • 举报
回复
加上大括号跟不加大括号有什么区别??
fwsland 2009-01-15
  • 打赏
  • 举报
回复
多谢两位大侠,问题已解决,如helloyou那样,"i am {$this->vars['name']}";
helloyou0 2009-01-15
  • 打赏
  • 举报
回复
public function show()
{
$sayme = "i am $this->vars['name']";
eval("?>" . $sayme . " <?");
}


------------

这里不必用eval

"i am $this->vars['name']";
改为
"i am {$this->vars['name']}";
或如楼上

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧