+2

Imprimindo conteudo de Arrays por indice

criado por Arthur Nogueira Bertozzi em 03/10/2010 7:38pm
Para o entendimento dos exemplos que vou demonstrar é necessário que se tenha uma lógica de como funciona um array.

O que vou demonstrar são a utilidade de funções que não vejo serem muito usadas , porem , podem ser mais exploradas.

veremos um exemplo:

$meuArray = array("Ola","para","todos");

Com certeza , maioria juntaria esta frase da seguinte forma:

echo $meuArray[0]." ".$meuArray[1]." ".$meuArray[2]; 

Vamos ver formas mais rápidas e bonitas de se fazer isso.

Primeiramente , sabemos que a ordem a ser imprimida é 0 , 1 e 2 , de tal forma , podemos usar a função implode().
Está função irá unir todos os indices do array por um delimitador , veja:

echo implode(" ",$meuArray);

Veremos outras funções agora.

Irei apresentar as funções que mais considero importantes para casos simples:

next -> move para o próximo indice
prev -> move para o indice anterior
current -> pega o indice que está sendo apontado
reset -> volta ao 1° indice
end -> move para o ultimo indice
each -> retorna indice e valor e move para o proximo indice

Vejamos um exemplo:
echo $meuArray[0]." ".$meuArray[1]." ".$meuArray[2];

Seria o equivalente a:
echo current($meuArray)." ".next($meuArray)." ".next($meuArray);

Se você só quiser o ultimo indice, normalmente você faria algo parecido com :
$tamanho = sizeof($meuArray);
$ultimo = $meuArray[$tamanho];

Mas podemos simplesmente:
$ultimo = end($meuArray);

Para passar por arrays , alem de usar o foreach , se quiser , pode usar o each
while($indiceAtual = each($meuArray))

Por ultimo , vou lhes apresentar o comando list.

O list transfere o valor do indice para uma variavel , vamos ver um exemplo:

$msg1 = $meuArray[0];
$msg2 = $meuArray[1];
$msg3 = $meuArray[2];

// Seria equivalente a

list($msg1,$msg2,$msg3) = $meuArray;

===========

Vamos fechar este Post utilizando várias formas de se imprimir a mensagem "Ola para todos". É importante destacar que pra cada tipo de situação é mais viavel utilizar uma função doque a outra , porem , todas são importantes porque ja vi gente fazer $meuArray[0].$meuArray[1]..... $meuArray[10] !!!!
Isso é desaconselhavel, por isso fiz este artigo , bem , vamos ao exemplo final

//Objetivo é imprimir Ola para todos

echo $meuArray[0]." ".$meuArray[1]." ".$meuArray[2];

echo current($meuArray)." ".next($meuArray)." ".next($meuArray);

echo implode(" ",$meuArray);

$msg1 = $meuArray[0];
$msg2 = $meuArray[1];
$msg2 = $meuArray[2];
echo $msg1." ".$msg2." ".$msg3;

$msg1 = current($meuArray);
$msg2 = next($meuArray);
$msg3 = next($meuArray);
echo $msg1." ".$msg2." ".$msg3;

list($msg1,$msg2,$msg3) = $meuArray;
echo $msg1." ".$msg2." ".$msg3;

Como disse não era o foco de tratar como reordenar indices , mudar valores , extrair , incluir novos , etc.

Bem , espero que deixem seu código mais limpo com essas dicas !

Comentários:

Nenhum comentário foi enviado ainda.

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)