Jump to content
netASP

Como ler esse os valores deste array?

Recommended Posts

Boa Tarde, fiz uma conexão com um web service e obtive um retorno em array, quero ajuda para pegar cada valor.

 

 

SimpleXMLElement Object
(
    [ArrayOfClienteDetalhe] => SimpleXMLElement Object
        (
            [ClienteDetalhe] => Array
                (
                    [0] => SimpleXMLElement Object
                        (
                            [IdCliente] => 10
                            [Sequencial] => 6055
                            [IdDetalhe] => 61
                            [NomeDetalhe] => T77ER C7 
                            [TipoDetalhe] => Cliente
                            [TipoFormato] => Inteiro
                            [TipoInclusao] => Sim
                            [TipoConsulta] => Sim
                            [TipoExclusao] => Nao
                            [TipoAlteracao] => Nao
                            [TipoValor] => ValorUnico
                            [Valor] => 2
                            [TpMensagem] => Nenhum
                        )
                    [1] => SimpleXMLElement Object
                        (
                            [IdCliente] => 10
                            [Sequencial] => 10
                            [IdDetalhe] => 1
                            [NomeDetalhe] => ID CLIENTE
                            [TipoDetalhe] => Cliente
                            [TipoFormato] => Texto
                            [TipoInclusao] => Sim
                            [TipoConsulta] => Sim
                            [TipoExclusao] => Nao
                            [TipoAlteracao] => Nao
                            [TipoValor] => ValorUnico
                            [Valor] => 00039523777706
                            [TpMensagem] => Nenhum
                        )
                    [2] => SimpleXMLElement Object
                        (
                            [IdCliente] => 10
                            [Sequencial] => 6054
                            [IdDetalhe] => 33
                            [NomeDetalhe] => NA_NATIONALITY
                            [TipoDetalhe] => Cliente
                            [TipoFormato] => Texto
                            [TipoInclusao] => Sim
                            [TipoConsulta] => Sim
                            [TipoExclusao] => Nao
                            [TipoAlteracao] => Nao
                            [TipoValor] => ValorUnico
                            [Valor] => BRA
                            [TpMensagem] => Nenhum
                        )
                    [3] => SimpleXMLElement Object
                        (
                            [IdCliente] => 10
                            [Sequencial] => 15552076
                            [IdDetalhe] => 8555
                            [NomeDetalhe] => NOV
                            [TipoDetalhe] => Cliente
                            [TipoFormato] => Texto
                            [TipoInclusao] => Sim
                            [TipoConsulta] => Sim
                            [TipoExclusao] => Nao
                            [TipoAlteracao] => Nao
                            [TipoValor] => ValorUnico
                            [Valor] => 2016117711
                            [TpMensagem] => Nenhum
                        )
                )
        )

 

Share this post


Link to post
Share on other sites

já tentou usar os nomes retornados:

 

echo $retorno['nome_nivel_0']['nome_nivel_1']['nome_nivel_2']['nome_nivel_3'];

 

ou com os índices...

 

echo $retorno[0][0][0][0];
echo $retorno[0][0][1][0];

 

Share this post


Link to post
Share on other sites

Sim tentei e não consegui,

Veja como estou tratando o retorno;

 

$resultAux = html_entity_decode($result);
$xmlobj = simplexml_load_string($resultAux) or die("Error: Cannot create object");
		if($xmlobj === false){
			echo "Failed loading XML: ";
			foreach(libxml_get_errors() as $error) {
				echo "<br>", $error->message;
			}
		}else{
			print_r($xmlobj);
		}
$xmlobj['ArrayOfClienteDetalhe']['ClienteDetalhe']['IdCliente'];

Mais não funcionou.

 

 

Share this post


Link to post
Share on other sites

observe que entre os nós ['ClienteDetalhe'] e o da array do ['IdCliente'] tem mais nós, tenta usando índices até chegar a  imprimir o nome do cliente pra ver onde tá ele nos nós tipo

 

echo $xmlobj[0][0][0];
echo $xmlobj[0][0][0][0];
echo $xmlobj[0][0][0][0][0];

 

Share this post


Link to post
Share on other sites

já tentou usar var_dump($nome_da_array) e print_r($nome_da_array) pra ver o retorno que dá? talvez a diferença entre as formas que os dois métodos traz pode te ajudar a decifrar.

Share this post


Link to post
Share on other sites

Consegui!
Obrigado !

foreach($xmlobj->ArrayOfClienteDetais as $vals )
        { 
            unset($geonames);
            $vals=(array)$vals;
            foreach($vals as $key => $value)
              {
                $value=(array)$value;    
                $geonames[$key]=$value[0];
                
                
              }
             
        }

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Salvatore
      Galera alguem poderia me explicar como faço isto ultilizando php? estou perdido
      tenho que usar varias imagens?
       
      De acordo que ele clica e seleciona a poltrona ela muda de cor 
      RED: OCUPADA
      AZUL: LIVRE

    • By drx
      Olá feras!
       
      Estou recebendo este retorno da conexão: SQLSTATE[HY000] [1049] Base 'dbbase' inconnue
       
      O que é que pode ser?
       
      Tudo certinho. Fala que a dbbase não existe, mas existe.
      Alguém tem uma solução ?
       
      Desde já agradeço.
    • By helkton
      ola galera, dúvida besta, mais ja estou quebrando a cabeça,
      seguinte estou preso  num select <option> vindo do banco de dados
      fiz alguns com o if(){}
      mais é pra saber tipoImovel - interesseImovel ou finalidadeImovel
      esses ai são poucos, ficou dboas fazer um if(){} pra cada. Agora pensa comigo...
      Tenho uma TABELA clientes, guardo as informações dos clientes
      Tenho outra tabela imoveis, com os dados do imóvel e tbm com o cliente que cadastrou o imovel,
      na pagina pra editar-imovel.php, monto o <option> pra consultar na tabela clientes todos os clientes cadastrados, como deixo "selected" no nome do cliente que cadastrou o imóvel??
    • By eduardaarosaa
      Ola!! Estou tentando fazer o upload de múltiplos arquivos usando o laravel. Mas  estou tendo o seguinte erro ao tentar cadastrar: 
      "Call to undefined method Symfony\Component\HttpFoundation\FileBag::extension()"  
      Meu controller:
        public function cadastro_info(Request $request)
          {
              $dataForm = $request->except('_token');
              $nameFile = null;
              $loop = count($request->files);
              for ($i=0; $i< $loop; $i++) {
             
                  $name = uniqid(date('HisYmd'));
                  $extension = $request->files->extension();
                  $nameFile = "{$name}.{$extension}";

                  $upload = $request->files->storeAs('upload', $nameFile);
                }
                  if (!$upload)
                      return redirect()
                          ->back()
                          ->with('error', 'Falha ao fazer upload')
                          ->withInput();
              }
      Minha rota:
       Route::post('/cadastro_empresa', 'Site\SiteController@cadastro_info')->name('cadastro_info');
       
      O que estou carregando no controller:
      use Illuminate\Http\Request;
      use DB;
      use App\Http\Controllers\Controller;
      use App\Models\Site\cadastro;
       
      Gerei o link para o storage já 
       
      Alguém sabe dizer o motivo do erro?
       
      Obrigada!!!
       
       
    • By stefany nogueira
      Não estou esta trazendo a tabela e aparece o seguinte erro:

              
      ( ! ) Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\wamp64\www\busca\index.php on line 20
      Call Stack
      #TimeMemoryFunctionLocation
      10.0009402840{main}(  )...\index.php:0
      20.0032418656mysqli_fetch_assoc
      (  )...\index.php:20
                    
       
       
      <?php
          include "conexao.php"
      ?>
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml1" lang="pt-br" xml:lang="pt-br">
          <head>
              <meta charset="utf-8">
              <title> Busca </title>
          </head>
          <body>
          <form action="results" method="post">
          <select name = convênios>
              <option>Selecione o convênio</option>
              <?php
                  $convenios = "SELECT * FROM convênios";
                  $qrconvenio = mysqli_query($conexao, $convenios);
                  while ($row_convenios = mysqli_fetch_assoc($qrconvenio)) ?>
                      <option value="<?php echo($row_convenios ['id_convenios'])?>"><?php echo($row_convenios ['convenio']) ?></option>
              ?>            
          </select>
      </body>
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.