为了账号安全,请及时绑定邮箱和手机立即绑定

无法替换字符串中的变量名

无法替换字符串中的变量名

PHP
慕容708150 2023-04-28 15:26:19
我想发送一条系统消息,用他的名字称呼用户。该消息存储在 .txt 文件中,如下所示:你好 $user->名字登录链接:something.something/user/id在 userController(发送消息的地方)中,我现在尝试用实际的 $user->firstname 替换 $user->firstname:$output = file_get_contents(Yii::$app->basePath."message.txt");$user = $this->findModel($id); //this is tested and works$output = str_replace("$user->firstname", $user->firstname, $output); 但是,此后我的输出仍然与文本文件中的输出完全相同。我究竟做错了什么?
查看完整描述

2 回答

?
缥缈止盈

TA贡献2041条经验 获得超4个赞

我认为这可能就像在您的str_replace通话中使用单引号一样简单:

$output = str_replace('$user->firstname', $user->firstname, $output);

当您使用双引号时,PHP 在调用str_replace.

查看完整回答
反对 回复 2023-04-28
?
哆啦的时光机

TA贡献1779条经验 获得超6个赞

$output = str_replace("$user->firstname", $user->firstname, $output);

双引号内的变量被替换——所以你不是要替换这里的文本 $user->firstname,你是要替换文本(假设这是用户的名字)——但是你的输入文本中George没有,所以……没有什么可以替换的。George

使用单引号,或使用 \ 转义 $ 符号


查看完整回答
反对 回复 2023-04-28
  • 2 回答
  • 0 关注
  • 94 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信