类stdClass的PHP对象无法转换为字符串
我制作了一个小的乘法函数类stdClass的PHP对象无法转换为字符串,php,Php,我制作了一个小的乘法函数 <p><?php $a= "<?php echo $this->prodDet->v_price?>"; $b=.26; $c=$a*$b; echo $c; ?> 我正在学习PHP的基础知识。有人能建议如何解决这个问题吗 谢谢你不知道你在尝试什么 $a = "<?php echo $this->prodDet->v_price?>"; 并确保$a结尾不是对象!(您可以通过var\u
<p><?php
$a= "<?php echo $this->prodDet->v_price?>";
$b=.26;
$c=$a*$b;
echo $c;
?>
我正在学习PHP的基础知识。有人能建议如何解决这个问题吗
谢谢你不知道你在尝试什么
$a = "<?php echo $this->prodDet->v_price?>";
并确保
$a
结尾不是对象!(您可以通过var\u dump($a);
在分配后的行中检查)v\u price
已设置为这些代码行之前的某个类实例。我猜这发生在prodDet
的某个地方
因此,当您echo
it时,PHP试图转换为字符串,但失败了
要查看它是什么类型的类,请尝试:
var_dump($this->prodDet->v_price);
这将帮助您调试
例如,某人意外地将一个变量设置为此行中的类:
$procID = $client->start(array("prefix"=>"Genesis"));
然后他们尝试回显$procID
,并得到相同的错误。无法回显类,因为它无法更改为字符串
还有,当你
$a = echo ...
$a
将不是您所期望的,因为echo
只是打印到屏幕上!它不返回值。您需要删除echo
并直接设置它:
$a = $this->prodDet->v_price->getSomeValue();
带有基本变量和字符串,$name=“Charlie”
对象将许多相关的东西存储在一起。字符串、数字、布尔值等存储为对象的属性。属性是通过对象操作符(“箭头操作符”)访问的,比如$person->name=“Charlie” 我还收到了相同的错误消息 经过一个小时的检查,我发现我犯了一个小错误,就是在获取数据时使用了两次变量符号($)。 那是
删除一美元符号后,它工作正常,可能会对某人有所帮助:)在编写PHP时,请记住永远不能嵌套
块。当您到达$a=“
”)时,事情就不再有意义了。您试图将$a设置为字符串
,这是有效的,但不是您想要做的。作为副作用,它试图将$this
作为字符串进行评估,因为您正在使用。
$a = echo ...
$a = $this->prodDet->v_price->getSomeValue();