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



希望你能在这里帮助我。我有点不知所措:/

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

这是我成功通过数据后服务器的结果

CLIENTID=101410;CLIENTREF=MZABOX2382;CONTACTID=22975

显示

echo($add_client_response->AddClientKYCResult);

从这一点上,我只需要得到CLIENTID的数字,并去掉其他所有内容。

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

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");

手动地,这可以使用explode以肮脏的方式完成,或者使用strposstrlensubstr的公共堆栈以更好的方式完成。

<?PHP
$string = "CLIENTID=101410;CLIENTREF=MZABOX2382;CONTACTID=22975";
// approach #1 use explode
// dirty, since it needs clientID to be the first parameter
$split = explode(";",$string);
$finalResult = str_replace("CLIENTID=","",$split[0]);
var_dump($finalResult);
// approach #2 use strpos
// better if you want to handle errors
$beginClientID = strpos($string,"CLIENTID=");
$endClientID = strpos($string,";",$beginClientID);
$clientID = substr($string,$beginClientID+strlen("CLIENTID="),$endClientID-($beginClientID+strlen("CLIENTID=")));
var_dump($clientID);

?>

最新更新