Ir ao conteúdo

Posts recomendados

Postado

Sou novato no PHP e tenho um array e queria que ele imprimisse que quebra de linha, mas ele imprime na tela com somente uma linha. Tentei colocar o quebra de linha <BR>, mas não consegui, abaixo o código:

<?php
$dnsr = dns_get_record('php.net', DNS_A + DNS_NS);
print_r($dnsr);


?>

 

Imprime desta forma:

Array ( [0] => Array ( [host] => php.net [type] => A [ip] => 208.43.231.9 [class] => IN [ttl] => 300 ) [1] => Array ( [host] => php.net [type] => NS [target] => dns4.easydns.info [class] => IN [ttl] => 300 ) [2] => Array ( [host] => php.net [type] => NS [target] => dns3.easydns.org [class] => IN [ttl] => 300 ) [3] => Array ( [host] => php.net [type] => NS [target] => dns2.easydns.net [class] => IN [ttl] => 300 ) [4] => Array ( [host] => php.net [type] => NS [target] => dns1.easydns.com [class] => IN [ttl] => 300 ) )

Postado

Bom dia, Fernando

 

Como o PHP é uma linguagem server-side, ele não reconhece por padrão os comandos de quebra de linha dentro do bloco de comando do PHP. Porém, ainda assim, é possível fazer com que através do comando echo, seja interpretado comandos do próprio HTML. Conforme o exemplo:

 

echo '<p>Apenas uma linha qualquer...</p> <br><i>Outra linha qualquer...</i>';

 

Sobre sua pergunta, não entendi exatamente como você deseja manusear essa array. Você deseja mostrar esses dados ao usuário? Deseja consultar esses dados para realizar alguma rotina? 

 

Assumindo que você deseja exibir essas informações para o usuário, acredito que a melhor forma seja utilizar um laço de repetição que irá percorrer todas as linhas. Você já estudou sobre? Se não, aconselho que estude pois será muito útil para esse projeto e para futuros projetos. Você pode ler um pouco sobre, aqui, na documentação oficial do próprio PHP.

 

O que você faria, basicamente seria percorrer toda essa matriz, utilizando laços de repetição, mostrando as informações que fossem pertinentes. Acredito que seja exatamente isso que você quis dizer com "pular linhas", o desejo de mostrar os dados de maneira unitária, estou certo? Um exemplo de utilização do laço de repetição, seria:

 

for($i=0;$i<count($dnsr);$i++)
{
	echo "O host do índice " . $i . " é: " . $dnsr[$i]["host"]."\n";                              
}

 

No exemplo acima, estamos percorrendo todos os índices do array, exibindo as informações contidas no índice host de cada posição. Traduzindo, criamos uma variável auxiliar chamada i, inicializando-se com o valor 0, pois é assim que os arrays trabalham com seus índices. O laço de repetição executará, até que a variável auxiliar não atinja o valor do tamanho total da array (para verificar o tamanho de uma array, utilizamos o comando count para isso). Após cada ciclo de repetição, será executado o i++, fazendo com que o valor que antes era 0, agora se torna 1. Basicamente, o que acontece no exemplo da estrutura da estrutura na declaração do laço é:

 

(variável que definirá o início da consulta;até quando o laço será executado;o que será executado quando cada ciclo do laço for executado)

 

No exemplo acima, como todos os índices de host possuem o mesmo valor, todos mostrariam a mesma mensagem:

 

Citação

"O host do índice é: php.net"

 

O comando \n, faria como uma quebra de linha fosse executada a cada leitura do echo no laço de repetição. Mesmo que você não deseje mostrar os dados usuários, você poderia utilizar o laço de repetição para manusear os dados em outra rotina, por exemplo. Portanto, minha dica é estudar laços de repetição, sendo que não é exclusivo do laço de repetição for, você pode utilizar o laço de repetição que mais se adaptar.

 

Foi o que eu consegui entender sua pergunta, se não for nada disso, me corrija que vamos adaptando a linha de raciocínio. Abraços!

 

Bons estudos!

  • Curtir 1
  • Obrigado 1
Postado

Boa tarde,

 

Muito obrigado, já estudei laço de repetição um pouco, não sabia que se aplicava neste situação, mas estou adaptando um pouco o código que você passou do for e esta funcionando.

 

Muito obrigado.

  • 2 semanas depois...
  • Moderador
Postado

@Fernando Sobrenome Só um adento,  no seu primeiro post, você pode usar o <pre>  para mostrar o conteúdo do vetor.

 

Fazer isso também com o array_walk_recursive().

 

Desta forma:

array_walk_recursive($dnsr, function ($item, $key) {
	echo "$key: $item<br/>";
});

 

Ou pode fazer com dois laços de foreach já que você tem aí um arrey multidimencional!

 

 

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!