Pegar último retorno do strpos
Boa tarde,
Tenho o seguinte problema.
Faço um requisição em um webservice, me retorna como string dados igual arquivo bacário.
Atraves do strpos no PHP eu verifico se nesse retorno ha o seguinte conteúdo: "HA MAIS REGISTROS A ENVIAR".
Se houver preciso reenviar esse bloco para a função de reconsulta afim de trazer novos registros.
Enviando esse primeiro bloco eu recebo um novo, se esse bloco vier também com o conteúdo : "HA MAIS REGISTROS A ENVIAR", preciso pegar somente esse que retornou e reenviar para a função de reconsulta.
Ai que está o problema, pois não estou conseguindo isolar somente a última requisição, ele está enviando os dois blocos resultantes e não apenas o último.
A regra é "SEMPRE ENVIAR O ÚLTIMO BLOCO RESULTANTE PARA RECEBER MAIS REGISTROS".
Ja tente com while strpos porem sempre acaba enviando tudo.
Esse foi a última ganbiarra, mas não está rolando.
$output = self::curlSerasa($id, $doc, $tipo, $adicionais, $uf);
if(strpos($output, 'HA MAIS REGISTROS A ENVIAR') !== false) {
$arr = [];
$arr[0] = $output;
$i=1;
while(true)
{
$arr[$i] = self::curlSerasaContinua($arr[0], $produto->logon, $produto->senha);
$proximo = $arr[$i-1];
if(strpos($proximo, 'HA MAIS REGISTROS A ENVIAR') !== false)
{
$arr[$i] = self::curlSerasaContinua($arr[$i-1], $produto->logon, $produto->senha);
$output .= $arr[$i];
}
elseif(strpos($arr[$i], 'PROCESSO ENCERRADO NORMALMENTE') !== false)
{
break;
}
$i++;
}
}Discussão (4)
Carregando comentários...