函数变量 - API 响应 preg_split 结果并将创建的变量传递给新函数

Function Variable - API Response preg_split result and pass created variable to new function

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

我有一个函数可以通过 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

手动,这可以使用 explode, or a bit nicer with the common stack of strpos, strlen and substr.

以肮脏的方式完成
<?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);



?>

认识到 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");