shelter Postado Março 24, 2016 Denunciar Share Postado Março 24, 2016 Bom dia amigos, então estou com uma missão que esta dando um nó em minha cabeça, tenho este código abaixo: include "phpAMI.php"; $ami=new phpAMI("admin","admin"); $login=$ami->login(); if($login["Response"]=="Success"){ print_r($ami->coreShowChannels()); $ami->logoff(); } Eu recebo esta informação: Array ( [Response] => Success [EventList] => start [Message] => Channels will follow [List] => Array ( [IAX2/216.207.245.8:4569-1164] => Array ( [Event] => CoreShowChannel [Channel] => IAX2/216.207.245.8:4569-1164 [UniqueID] => 1330459157.58 [Context] => [Extension] => [Priority] => 1 [ChannelState] => 6 [ChannelStateDesc] => Up [Application] => AppDial [ApplicationData] => (Outgoing Line) [CallerIDnum] => 500 [CallerIDname] => [ConnectedLineNum] => 11 [ConnectedLineName] => Cuarto Tito [Duration] => 00:00:05 [AccountCode] => [BridgedChannel] => SIP/ipphone-00000019 [BridgedUniqueID] => 1330459142.57 ) Qual a minha duvida? Gostaria de pegar dado a dado para listar em tela em separado, tipo: So lista o dado [Duration] e aparecer somente o dado no caso acima 00:00:05 Agradeço desde já aos amigos, Grato Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 wootzor Postado Março 24, 2016 Denunciar Share Postado Março 24, 2016 Experimenta: <?php //assumindo que $array = $ami->coreShowChannels(); foreach ($array["List"] as $item) { foreach ($item as $key => $value) { echo $key . " = " . $value . "<br />"; } echo "<br />"; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 shelter Postado Março 24, 2016 Autor Denunciar Share Postado Março 24, 2016 opa agradeço a ajuda do amigo , mais não funcionou. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 wootzor Postado Março 24, 2016 Denunciar Share Postado Março 24, 2016 (editado) O que correu mal? Deixo aqui o meu teste: Editado Março 24, 2016 por wootzor Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 shelter Postado Março 24, 2016 Autor Denunciar Share Postado Março 24, 2016 opa agradeço desde já atenção do amigo, o problema é que não recebo valor nenhum, acho que o erro de estar neste array, pois assim funciona mais como esta no programa não. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 wootzor Postado Março 24, 2016 Denunciar Share Postado Março 24, 2016 Consegues mostrar o código tal e qual como o tens agora? Como podes ver, a estrutura do array de teste que criei é em tudo idêntica ao retorno da tua função, pelo que devia funcionar como pretendes. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 shelter Postado Março 25, 2016 Autor Denunciar Share Postado Março 25, 2016 opa agradeço desde já atenção do amigo, o problema é que não recebo valor nenhum, acho que o erro de estar neste array, pois assim funciona mais como esta no programa não. Opa , acho que o erro esta na variavel , pois quando eu tento. $array = $ami->coreShowChannels(); echo $ array; não aparece na nesta variavel $array, sera que estou tratando ela certo o comando seria este mesmo? Muito grato pela ajuda do amigo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 wootzor Postado Março 25, 2016 Denunciar Share Postado Março 25, 2016 Usa print_r($array) em vez de echo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 shelter Postado Março 26, 2016 Autor Denunciar Share Postado Março 26, 2016 Assim eu vejo , e porque no echo não? Como seria pra ver no echo? grato Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lowys Postado Março 26, 2016 Denunciar Share Postado Março 26, 2016 http://www.dicasecodigosweb.com.br/2014/05/diferenca-entre-print-echo-printr-e.html Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 shelter Postado Março 26, 2016 Autor Denunciar Share Postado Março 26, 2016 Nobre amigo agradeço e muito a sua ajuda deu certo, agora se não for pedir muito, como seria para eu recuperar só o valor de interesse, tipo eu quero só o campo a exemplo : Duration = 00:00:24 Muito obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 shelter Postado Março 29, 2016 Autor Denunciar Share Postado Março 29, 2016 Em 26/03/2016 at 12:01, shelter disse: Nobre amigo agradeço e muito a sua ajuda deu certo, agora se não for pedir muito, como seria para eu recuperar só o valor de interesse, tipo eu quero só o campo a exemplo : Duration = 00:00:24 Muito obrigado Nobre amigo agradeço e muito a sua ajuda deu certo, agora se não for pedir muito, como seria para eu recuperar só o valor de interesse, tipo eu quero só o campo a exemplo : Duration = 00:00:24 Muito obrigado opa , estou quase louko, rsss help Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 wootzor Postado Março 30, 2016 Denunciar Share Postado Março 30, 2016 Nesse caso basta verificar se a "chave" (key) do array corresponde ao valor que pretendes mostrar: foreach ($arr["List"] as $item) { foreach ($item as $key => $value) { if ($key == "Duration") { echo $key . " = " . $value; } } echo "<br />"; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 shelter Postado Março 30, 2016 Autor Denunciar Share Postado Março 30, 2016 5 horas atrás, wootzor disse: Nesse caso basta verificar se a "chave" (key) do array corresponde ao valor que pretendes mostrar: foreach ($arr["List"] as $item) { foreach ($item as $key => $value) { if ($key == "Duration") { echo $key . " = " . $value; } } echo "<br />"; } Oi amigo sei que já estou passando dos limites , mais e para pegar duas posições? Tipo: Duration = 00:00:27 Event = Sip2008 grato Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 wootzor Postado Março 31, 2016 Denunciar Share Postado Março 31, 2016 Nesse caso, adiciona um OR no if: <?php if ($key == "Duration" || $key == "Event") { //... } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
shelter
Bom dia amigos,
então estou com uma missão que esta dando um nó em minha cabeça, tenho este código abaixo:
include "phpAMI.php"; $ami=new phpAMI("admin","admin"); $login=$ami->login(); if($login["Response"]=="Success"){ print_r($ami->coreShowChannels()); $ami->logoff(); }
Eu recebo esta informação:
Array ( [Response] => Success [EventList] => start [Message] => Channels will follow [List] => Array ( [IAX2/216.207.245.8:4569-1164] => Array ( [Event] => CoreShowChannel [Channel] => IAX2/216.207.245.8:4569-1164 [UniqueID] => 1330459157.58 [Context] => [Extension] => [Priority] => 1 [ChannelState] => 6 [ChannelStateDesc] => Up [Application] => AppDial [ApplicationData] => (Outgoing Line) [CallerIDnum] => 500 [CallerIDname] => [ConnectedLineNum] => 11 [ConnectedLineName] => Cuarto Tito [Duration] => 00:00:05 [AccountCode] => [BridgedChannel] => SIP/ipphone-00000019 [BridgedUniqueID] => 1330459142.57 )
Qual a minha duvida?
Gostaria de pegar dado a dado para listar em tela em separado, tipo:
So lista o dado [Duration] e aparecer somente o dado no caso acima 00:00:05
Agradeço desde já aos amigos,
Grato
Link para o comentário
Compartilhar em outros sites
14 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.