加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP:可捕获的致命错误:类stdClass的对象无法转换为字符串

发布时间:2020-12-13 13:54:04 所属栏目:PHP教程 来源:网络整理
导读:我得到以下转储运行附加代码时出错.令我感到困惑的是,$procID似乎是作为字符串返回的,但是一旦我尝试再次传递它,它就是一个对象?我如何让它成为/保持一个字符串?谢谢. object(stdClass)#2 (1) {["processId"]= string(13)"Genesis114001" } string(311)"Ge
我得到以下转储&运行附加代码时出错.令我感到困惑的是,$procID似乎是作为字符串返回的,但是一旦我尝试再次传递它,它就是一个对象?我如何让它成为/保持一个字符串?谢谢.
object(stdClass)#2 (1) {
["processId"]=> string(13)
"Genesis114001" }  string(311)
"Genesis114001" string(293) " Genesis
" Catchable fatal error: Object of
class stdClass could not be converted
to string in
C:wampwwwSugarCEtestSOAPShawn.php
on line 15
<?php
set_time_limit(0);
require_once('nusoap.php');
require_once('BenefitSOAP.php');  //WSDL to PHP Classes
$client = new SoapClient('C:wsdlBenefitDeterminationProcess_BenefitDialogueServiceSOAP.wsdl',array('trace' => 1));
$procID = $client->start(array("prefix"=>"Genesis"));
$respXML = $client->__getLastResponse();
$requXML = $client->__getLastRequest();
echo "<p/>";
var_dump($procID);
//echo "<p/>";
var_dump($respXML);
//echo "<p/>";
var_dump($requXML);
$exchange = $client->exchangeOptions(array("processId"=>$procID)); //LINE 15
$end = $client->stop(array("processId"=>$procID));
?>
无论$client-> start()方法返回什么,它都被输入为对象.您可以使用 – >访问对象的属性.操作符:
$procID = $client->start(array("prefix"=>"Genesis"));

...

$exchange = $client->exchangeOptions(array("processId"=>$procID->processId));

这可能是一个数组,但正在输入一个对象.因此,你最终得到stdClass.

另一种(可能更好)的方法是输入回报.这样,您不必创建一个新数组以便以后作为参数传递:

$procID = (array) $client->start(array("prefix"=>"Genesis"));

...

$exchange = $client->exchangeOptions($procID);
$end = $client->stop($procID);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读