我做了一个小的乘法函数
<p><?php
$a= "<?php echo $this->prodDet->v_price?>";
$b=.26;
$c=$a*$b;
echo $c;
?>
这里价格值是从requiste产品的数据库中提取的,并且是固定的.26变量的倍数。想知道为什么会出现这种错误 -
Catchable fatal error: Object of class stdClass could not be converted to string in
我正在学习PHP的基础知识。有人可以建议如何解决它吗?
由于
答案 0 :(得分:4)
你不知道你在这里尝试了什么?
$a = "<?php echo $this->prodDet->v_price?>";
$a
照看<?php echo <the value of $this->prodDet->v_price>?>
之类的作业。 <?php
部分没有执行。你肯定想写:
$a = $this->prodDet->v_price;
确保$a
不是最后的对象! (您可以通过分配后的行中的var_dump($a);
查看)
答案 1 :(得分:2)
v_price
设置为某个类实例。我的猜测是发生在prodDet
的某个地方。
因此,当你echo
时,PHP会尝试转换为字符串并失败。
要查看它是什么类,请尝试:
var_dump($this->prodDet->v_price);
这将有助于您调试。
一个例子是在PHP: Catchable fatal error: Object of class stdClass could not be converted to string中,该人意外地将变量设置为该行中的一个类:
$procID = $client->start(array("prefix"=>"Genesis"));
然后他们尝试回显$procID
并得到同样的错误。您无法回复课程,因为它无法更改为字符串。
另外,当你做
时$a = echo ...
$a
不符合您的期望,因为echo
只是打印到屏幕上!它没有返回值。您要删除echo
并直接设置:
$a = $this->prodDet->v_price->getSomeValue();
答案 2 :(得分:2)
答案 3 :(得分:0)
使用原始变量和字符串,$ name =&#34; Charlie&#34 ;;
对象将许多相关的东西存储在一起。字符串,数字,布尔值等存储为对象的属性。使用对象运算符(&#34;箭头运算符&#34;)访问属性,例如$ person-&gt; name =&#34; Charlie&#34;;