首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >类stdClass的PHP对象无法转换为字符串。

类stdClass的PHP对象无法转换为字符串。
EN

Stack Overflow用户
提问于 2013-10-13 07:14:10
回答 4查看 74.6K关注 0票数 3

我做了一个小的乘法函数

代码语言:javascript
复制
 <p><?php
 $a= "<?php echo $this->prodDet->v_price?>";
 $b=.26;
 $c=$a*$b;
 echo $c;
 ?>

这里,价格值是从请求者产品的数据库中提取出来的,并且是由固定的.26变量多个。不知道为什么要犯这个错误-

代码语言:javascript
复制
Catchable fatal error: Object of class stdClass could not be converted to string in

我正在学习PHP的基础知识。有人能建议如何解决这个问题吗?

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-10-13 07:17:17

你不知道你在尝试什么吗?

代码语言:javascript
复制
$a = "<?php echo $this->prodDet->v_price?>";

$a<?php echo <the value of $this->prodDet->v_price>?>一样处理作业。那里的<?php部件没有执行。你肯定想写:

代码语言:javascript
复制
$a = $this->prodDet->v_price;

并确保$a最终不是一个对象!(作业完成后,您可以在行中通过var_dump($a);检查哪些内容)

票数 4
EN

Stack Overflow用户

发布于 2013-10-13 07:18:29

在这些代码行之前的某个地方,v_price被设置为类实例。我猜这发生在prodDet的某个地方。

因此,当您将其转换为echo时,它会尝试转换为字符串,但是失败了。

要了解它是什么样的类,请尝试:

代码语言:javascript
复制
var_dump($this->prodDet->v_price);

这将帮助您调试。

例如,在PHP: Catchable fatal error: Object of class stdClass could not be converted to string中,person意外地将变量设置为该行中的一个类:

代码语言:javascript
复制
$procID = $client->start(array("prefix"=>"Genesis"));

然后,他们试图回显$procID并得到相同的错误。不能回显类,因为它不能更改为字符串。

还有,当你做的时候

代码语言:javascript
复制
$a = echo ...

$a将不是您所期望的,因为echo只是打印到屏幕上!它不返回值。您需要删除echo并直接设置它:

代码语言:javascript
复制
$a = $this->prodDet->v_price->getSomeValue();
票数 3
EN

Stack Overflow用户

发布于 2016-03-20 03:45:31

我还得到了相同的错误消息,即

经过一个小时的检查,我发现我做了一些小错误,在获取数据时我使用了变量符号($)两次。这就是

去掉一块钱后,它就可以正常工作了,这可能是帮助某人:)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19342776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档