Jump to content
rodrigo antonio  cruz

Buscar resultado específico dentro de um índice, array

Recommended Posts

Olá venho pedir ajuda dos amigos, estou pegando de uma url externa com uma consulta este Array de apenas 1 índice, estou querendo somente extrair deste índice o item resposta : Sim, ou seja somente o resultado da resposta o Sim, mas não estou conseguindo de modo algum, sou novo em php, peço desculpas pela minha ignorância!

Array ( [0] => 0 ) Array ( [0] => {"status":1,"data":1,"doc":[{"codigo":"213645459","dh_entrada":"2017-05-18
10:35:16","status":"RECEBIDO","destino_celular":"51991855248","resposta":"Sim"}]} )

Share this post


Link to post
Share on other sites

O "Sim" é um valor da propriedade "resposta", então você tem que informar essa chave de alguma forma.

 

Como o retorno parece ser em JSON, dá uma olhada no json_decode(), acho que resolve no seu caso.

 

Algo assim (não testei):

 

$json = '{"status":1,"data":1,"doc":[{"codigo":"213645459","dh_entrada":"2017-05-18
10:35:16","status":"RECEBIDO","destino_celular":"51991855248","resposta":"Sim"}]}'

$retorno = json_decode($json);
echo $retorno->doc[0]->resposta;

Dá uma olhada aqui também: http://stackoverflow.com/questions/29308898/how-do-i-extract-data-from-json-with-php

Share this post


Link to post
Share on other sites
Em 2017-5-19 at 14:02, navegantenarede disse:

O "Sim" é um valor da propriedade "resposta", então você tem que informar essa chave de alguma forma.

 

Como o retorno parece ser em JSON, dá uma olhada no json_decode(), acho que resolve no seu caso.

 

Algo assim (não testei):

 


$json = '{"status":1,"data":1,"doc":[{"codigo":"213645459","dh_entrada":"2017-05-18
10:35:16","status":"RECEBIDO","destino_celular":"51991855248","resposta":"Sim"}]}'

$retorno = json_decode($json);
echo $retorno->doc[0]->resposta;

Dá uma olhada aqui também: http://stackoverflow.com/questions/29308898/how-do-i-extract-data-from-json-with-php

 

Olá amigo muito obrigado pela ajuda, mas eis uma  dúvida, e se eu receber um array com vários índices? como ficaria?

por exemplo:

stdClass Object ( [status] => 1 [data] => 2 [doc] => Array ( [0] => stdClass Object ( [codigo] => 213645459 [dh_entrada] => 2017-05-18 10:35:16 [status] => RECEBIDO [destino_celular] => 51991855248 [resposta] => Sim ) [1] => stdClass Object ( [codigo] => 214192762 [dh_entrada] => 2017-05-20 15:11:01 [status] => RECEBIDO [destino_celular] => 51998549737 [resposta] => Nao ) ) )

Tentei fazer um foreach e while, mas não obtive sucesso, desde já agradeço

Share this post


Link to post
Share on other sites
3 horas atrás, rodrigo antonio cruz disse:

 

Olá amigo muito obrigado pela ajuda, mas eis uma  dúvida, e se eu receber um array com vários índices? como ficaria?

por exemplo:


stdClass Object ( [status] => 1 [data] => 2 [doc] => Array ( [0] => stdClass Object ( [codigo] => 213645459 [dh_entrada] => 2017-05-18 10:35:16 [status] => RECEBIDO [destino_celular] => 51991855248 [resposta] => Sim ) [1] => stdClass Object ( [codigo] => 214192762 [dh_entrada] => 2017-05-20 15:11:01 [status] => RECEBIDO [destino_celular] => 51998549737 [resposta] => Nao ) ) )

Tentei fazer um foreach e while, mas não obtive sucesso, desde já agradeço

TÓPICO RESOLVIDO, ESTUDEI UM POUCO E RESOLVI! PRA QUEM PRECISAR O CODE ESTÁ ABAIXO

$retorno = json_decode($json_file);
$i=-1;
     while($i++ <= sizeof($retorno)){
     	   $retorna_data = $retorno->doc[$i]->dh_entrada;
	       $retorna_resposta = $retorno->doc[$i]->resposta;
           $retorna_celular  = $retorno->doc[$i]->destino_celular."<br/>";
     echo $retorna_data;
     echo $retorna_resposta;
     echo $retorna_celular;
}

 

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 Gustavuh
      Boa tarde.
       
      Estou carregando os dados do usuário numa session.
       
      Na página de redirecionamento, jogo essa session para uma váriável.
       
      Quero por BEM VINDO, {nome_do_usuario}, mas aparece o erro UNDEFINED INDEX: USER_NAME.
       
      Segue codigo...
       
      if(!isset($_SESSION['userlogin'])){ unset($_SESSION['userlogin']); header("Location: index.php"); exit; }else{$userlogin = $_SESSION['userlogin'];} <img src="images/user.png" alt=""> <span> Bem vindo(a), <strong style="font-style: italic;"><?= $userlogin['user_apelido']; ?></strong></span> Como resolver esse caso tão simples?

    • By agodiniz
      Fala galera, estou com um problema e não sei como resolver. Até encontrei umas respostas, mas utilizando Php e Mysql. Preciso que a resposta seja utilizando as tecnologias javascript (node) e Mysql.
      Gostaria de capturar dados de um formulário utilizando array e salvando o mesmo num banco de dados.
       
      Ex:
      Imagine um 3 inputs do tipo text que recebem um valor que é inserido pelo cliente e que cada input, possa receber valores diferentes (como se cada um fosse uma variável 'titulo', 'conteudo' e 'autor')
      quero que depois que o cliente enviar os dados que por ele foram inputados, esses dados sejam enviados para as variáveis 'titulo', 'conteudo' e 'autor'.
      Logo depois quero declarar um array que receba essas variáveis [titulo, conteudo, autor] e desejo armazenar o array no banco de dados utilizando Mysql
       
      Desde já, agradeço!
    • By Omar~
      É o seguinte, tenho uma tabela de produtos a qual além de possuir características do produto já contém a coluna para o link da mesma.
      Assim sendo faço a consulta da tabela para preencher um menu com o link para cada produto, e é aqui que entra a questão:
       
      Na sua opinião o que seria mais viável ao usuário acessar um produto em questão?
      Reaproveitar o array de retorno da query ao qual usei para compor os links do menu, só que filtrar esse array mostrando o índice ao qual é acessado. Refazer a query listando somente o produto.  
      A aplicação é executada em um único arquivo.
      Onde tenho o menu HTML listando cada produto contido na tabela (A qual também guarda as demais informações do produto).
       
      Reaproveitar a query ficou meio estranho uma vez que tenho um array multi dimencional da query tenho que buscar o índice para ver se ele existe e ainda varrer o array para poder usar os dados do produto tipo assim:
      <?php // $url[1] : É o valor vindo da url // $result : É o array multi de resultado da query if (array_search($url[1], array_column($result, 'ap_link')) !== false) { foreach ($result as $value) { if ($url[1] == $value->ap_link) { // Existe o produto e a url é a mesma do link do produto break; } } } else { // O valor da url não condiz com nenhum produto registrado } Essa alternativa evita uma segunda query desnecessária aliviando o lado do SQL, porém em um arrray multo extenso pode haver lentidão para processar os dados.
      Por outro lado também ficar refazendo consultas também pode deixar a questão meio lenta.
       
      A coisa toda é porque existem centenas de produtos na tabela e em ambos os casos está demorando mais do que deveria.
      Então bateu essa dúvida, qual alternativa tomar, resolvi perguntar, pois várias cabeças peçam melhor que uma.
    • By aegospm
      Olá, amigos.  Eu tenho um array ($array) que foi gerado automaticamente no meu código e seu retorno é este:
      Array ( [0] => Array ( [em] => 0.017142857142857 [vítimas] => 0.017142857142857 [na] => 0.017142857142857 [mulheres] => 0.017142857142857 [criança] => 0.011428571428571 [jovem] => 0.011428571428571 [o] => 0.011428571428571 [nada.] => 0.011428571428571 [morreram] => 0.011428571428571 [hora.] => 0.011428571428571 ) [1] => Array ( [e] => 0.024096385542169 [O] => 0.018072289156627 [anos,] => 0.018072289156627 [do] => 0.018072289156627 [sem] => 0.012048192771084 [atiraram] => 0.012048192771084 [levar] => 0.012048192771084 [Amarante,] => 0.012048192771084 [Natal.] => 0.012048192771084 [com] => 0.012048192771084 ) [2] => Array ( [e] => 0.021276595744681 [de] => 0.021276595744681 [As] => 0.015957446808511 [do] => 0.015957446808511 [um] => 0.015957446808511 [uma] => 0.015957446808511 [Duas] => 0.01063829787234 [identificado] => 0.01063829787234 [cinco] => 0.01063829787234 [18] => 0.01063829787234 ) [3] => Array ( [acordo] => 0.014084507042254 [até] => 0.014084507042254 [De] => 0.014084507042254 [Nascimento,] => 0.014084507042254 [os] => 0.014084507042254 [com] => 0.014084507042254 [na] => 0.014084507042254 [branco,] => 0.0070422535211268 [carro] => 0.0070422535211268 [em] => 0.0070422535211268 ) [4] => Array ( [a] => 0.030769230769231 [de] => 0.025641025641026 [no] => 0.020512820512821 [foi] => 0.015384615384615 [Polícia] => 0.015384615384615 [o] => 0.015384615384615 [26] => 0.01025641025641 [Rodrigues] => 0.01025641025641 [Kelly] => 0.01025641025641 [cabeças] => 0.01025641025641 ) )  
      Eu tenho imprimir cada elemento assim:
      foreach ($array as $key => $value) { echo $key." => ".$value."<br/>"; } Obtenho como resultado o seguinte erro:
      Notice: Array to string conversion in /home/u244186567/public_html/index.php on line 901 Array Notice: Array to string conversion in /home/u244186567/public_html/index.php on line 902 Array Notice: Array to string conversion in /home/u244186567/public_html/index.php on line 901 Array Notice: Array to string conversion in /home/u244186567/public_html/index.php on line 902 Array Notice: Array to string conversion in /home/u244186567/public_html/index.php on line 901 Array Notice: Array to string conversion in /home/u244186567/public_html/index.php on line 902 Array Notice: Array to string conversion in /home/u244186567/public_html/index.php on line 901 Array Notice: Array to string conversion in /home/u244186567/public_html/index.php on line 902 Array Notice: Array to string conversion in /home/u244186567/public_html/index.php on line 901 Array Notice: Array to string conversion in /home/u244186567/public_html/index.php on line 902 Array  Vi aqui como última solução, pois não consegui resolver. Já pesquisei bastante. Como faço para imprimir separadamente cada elemento de $array?
      Quero trabalhar com eles separadamente.
       
       
      Já resolvi... meu $array é um array de arrays. :)
×

Important Information

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