Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
类stdClass的PHP对象无法转换为字符串_Php - Fatal编程技术网

类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();