Php 函数变量-API响应预分割结果并将创建的变量传递给新函数

Php 函数变量-API响应预分割结果并将创建的变量传递给新函数,php,function,soap,global-variables,preg-split,Php,Function,Soap,Global Variables,Preg Split,希望你能帮我。我有点不知所措:/ 我有一个通过API将数据传递到服务器的函数。它发送一个响应。我需要拆分传入的字符串,并获取最终结果,使其成为一个变量,供将来的函数使用 这是我成功传递数据后服务器的结果 CLIENTID=101410;CLIENTREF=MZABOX2382;CONTACTID=22975 这表现在 echo($add_client_response->AddClientKYCResult); 从这一点上,我只需要得到客户ID的数字,然后去掉所有其他内容 到目前为止,我

希望你能帮我。我有点不知所措:/

我有一个通过API将数据传递到服务器的函数。它发送一个响应。我需要拆分传入的字符串,并获取最终结果,使其成为一个变量,供将来的函数使用

这是我成功传递数据后服务器的结果

CLIENTID=101410;CLIENTREF=MZABOX2382;CONTACTID=22975

这表现在

echo($add_client_response->AddClientKYCResult);
从这一点上,我只需要得到客户ID的数字,然后去掉所有其他内容

到目前为止,我有一段代码不起作用

function AddClientKYCResult ( $data, $pilot ) {
$add_client_response = preg_split('/;/', $result['Result']);
$clientId = preg_split('/=/', $spl[0][0]);
$clientRef = preg_split('/=/', $spl[1][0]);
$contactId = preg_split('/=/', $spl[2][0]);
return $data;
echo($clientId);
}
有人能帮忙吗


TIA

手动,这可以通过使用、和的公共堆栈以肮脏的方式完成


认识到CLIENTID可以位于字符串中的任何位置

$apiResponse = $add_client_response->AddClientKYCResult;
//$apiResponse = "CLIENTID=101410;CLIENTREF=MZABOX2382;CONTACTID=22975";

$add_client_response = explode(";",$apiResponse);
$result = [];
foreach($add_client_response as $part) {
      $partArr = explode("=", $part);      
      $result[$partArr[0]] = $partArr[1];
}

$clientId = $result["CLIENTID"];
$clientRef = $result["CLIENTREF"];
$contactId = $result["CONTACTID"];
echo("clientId = $clientId<br/>");
echo("clientRef = $clientRef<br/>");
echo("contactId = $contactId");

$apiResponse=$add\u client\u response->addClientkyResult;
//$apiResponse=“CLIENTID=101410;CLIENTREF=MZABOX2382;CONTACTID=22975”;
$add_client_response=explode(“;”,$apisponse);
$result=[];
foreach($add\u client\u response作为$part){
$partArr=分解(“=”,$part);
$result[$partArr[0]]=$partArr[1];
}
$clientId=$result[“clientId”];
$clientRef=$result[“clientRef”];
$contactId=$result[“contactId”];
echo(“clientId=$clientId
”; echo(“clientRef=$clientRef
”); echo(“contactId=$contactId”);
($add\u client\u response->AddClientKYCResult)-这就是结果的来源,我如何将其合并到您的代码中-这一个看起来最好。我已经测试了它,使用这个字符串它的作品超级!但是我需要为ResultMode更改的每个结果使用它,以适应任何用例。感谢Tope,代码非常完美,但我需要从数据库传回的$add_client_响应结果中提取。在$result['result']=“CLIENTID=101410;CLIENTREF=MZABOX2382;CONTACTID=22975”;它使用来自一个响应的静态结果。是否有一种方法每次都可以从这个-($add\u client\u response->AddClientKYCResult)。。。有一个$clientId的事实经过了完美的调整,以从$add\u client\u response->AddClientKYCResultSuper获取结果,谢谢。。但现在我得到了警告:当我使用数据库返回运行它时,字符串偏移量是非法的,但是如果我运行您的注释行,它就可以正常工作。还需要加上一个,;第一行
$apiResponse = $add_client_response->AddClientKYCResult;
//$apiResponse = "CLIENTID=101410;CLIENTREF=MZABOX2382;CONTACTID=22975";

$add_client_response = explode(";",$apiResponse);
$result = [];
foreach($add_client_response as $part) {
      $partArr = explode("=", $part);      
      $result[$partArr[0]] = $partArr[1];
}

$clientId = $result["CLIENTID"];
$clientRef = $result["CLIENTREF"];
$contactId = $result["CONTACTID"];
echo("clientId = $clientId<br/>");
echo("clientRef = $clientRef<br/>");
echo("contactId = $contactId");