Soap Client Method参数数组省略了键 - PHP

时间:2017-05-18 04:41:32

标签: php yii soap-client

我正在尝试使用XAMPP PHP的默认SOAP客户端,我需要将数组作为参数传递给SoapClient方法调用,但是methos接收没有数组键的参数,

mycode的:

$client = new SoapClient('http://localhost/crm/WSIn07/ws'); 
$data = array("name"=>"xxx","age"=>"32");
echo $client->UpdateEmp($data);

但在控制器方法中,数组打印为[“xxx”,“32”] 因此,当我尝试访问$ data [“name”]时,它会抛出未定义的索引错误:名称

请有人给我一个想法,将带有键的数组发送到SOAPClient方法

1 个答案:

答案 0 :(得分:0)

此字符串看起来像json,因此您可以使用 json_decode()函数转换此数据(在函数UpdateEmp中的控制器中)

使用 isset()并防止未定义的索引错误。

尝试这样的事情:

$client = new SoapClient('http://localhost/crm/WSIn07/ws'); 
$data = array("name"=>"xxx","age"=>"32");

$decoded = json_decode($client->UpdateEmp($data));

if (isset($decoded["name"])) {
echo $decoded["name"];
}

if (isset($decoded["age"])) {
echo $decoded["age"];
}