Как я могу прочитать этот результат с помощью PHP? Это print_r результата запроса:
object(PhpSigep\Services\Result)[687]
protected 'isSoapFault' => boolean false
protected 'errorCode' => null
protected 'errorMsg' => null
protected 'result' =>
array (size=38)
0 =>
object(PhpSigep\Model\CalcPrecoPrazoResposta)[730]
protected 'servico' =>
object(PhpSigep\Model\ServicoDePostagem)[731]
...
protected 'valor' => float 12.28
protected 'prazoEntrega' => int 5
protected 'valorMaoPropria' => float 0
protected 'valorAvisoRecebimento' => float 0
protected 'valorValorDeclarado' => float 0
protected 'entregaDomiciliar' => boolean true
protected 'entregaSabado' => boolean false
protected 'erroCodigo' => int 0
protected 'erroMsg' => null
protected '_failIfAtributeNotExiste' => boolean true
1 =>
object(PhpSigep\Model\CalcPrecoPrazoResposta)[732]
protected 'servico' =>
object(PhpSigep\Model\ServicoDePostagem)[733]
...
protected 'valor' => float 22.9
protected 'prazoEntrega' => int 5
protected 'valorMaoPropria' => float 0
protected 'valorAvisoRecebimento' => float 0
protected 'valorValorDeclarado' => float 0
protected 'entregaDomiciliar' => boolean true
protected 'entregaSabado' => boolean false
protected 'erroCodigo' => int 0
protected 'erroMsg' => null
protected '_failIfAtributeNotExiste' => boolean true
Я хотел бы прочитать массив, я пытаюсь $result->result, $result['result'] и другие комбинации, но мне действительно не удалось его прочитать. Может кто-то мне помочь, пожалуйста?
Мне нужен массив с «доблестью» и «празоэнтрега».






Во-первых, проверьте, есть ли общедоступный метод, такой как получитьрезультат(), в определении класса.
Если вы не можете изменить определение класса, используйте Reflection следующим образом:
Пример кода:
function accessProtected($obj, $prop) {
$reflection = new ReflectionClass($obj);
$property = $reflection->getProperty($prop);
$property->setAccessible(true);
return $property->getValue($obj);
}
Вызов метода:
$data = accessProtected($result,"result");
Чтобы получить доступ к данным indise, вызовите функцию рекурсивно.
если вы хотите получить доблесть и празоэнтрега
foreach($data as $CalcPrecoPrazoResposta){
$valor = accessProtected($CalcPrecoPrazoResposta,"valor");
$prazoEntrega = accessProtected($CalcPrecoPrazoResposta,"prazoEntrega");
echo $valor;
echo $prazoEntrega;
}
какой результат вы хотите извлечь?