• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Gurzi

FOREACH()

14 mensagens neste tópico

Boas pessoal.. ando agora por dentro do PHP e isto está a ficar ruim.. encravei aqui em coisas como o each , o foreach, o list, etc...

mas o que venho pedir agora é que alguem tenha paciência para fazer um mini tutorial a explicar-me para que serve realmente o foreach..

aguardo a vossa resposta, obrigado  :)

ps : é que tenho a noção que o que faço com o foreach faço com um ciclo for, ou estou a entender mal as coisas? :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

por exemplo, se tiveres um array de qualquer tipo e não souberes quantos valores tem e não quiseres tar a calcular para depois puderes usar um ciclo for que processe todos os valores do array, podes usar o foreach. o foreach vai processar todos os valores até chegar ao fim do array, enquanto que um for vai processar ate à condição definida. a diferença principal esta. e isto foi só um exemplo que me veio à cabeça porque noutras situações pode não ser tão linear.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Exemplo:


$array = array("valor", "valor1", "valor2", "valor3");

foreach($array as $valor) {   // Para cada valor de $array como $valor 

echo $valor;

}

Isso vai mostrar algo como:  valor valor1 valor2 valor3

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem... dêm o manual a um homem e ele fica feliz! eheheh...

http://www.php.net/manual/pt_BR/control-structures.foreach.php

( em portugues e tudo )

A aplicação mais prática é uma coisa teste tipo

$cores["casaco"]="azul";
$cores["cinto"]="preto";
$cores["chapeu"]="castanho";
$cores["cachecol"]="vermelho";

foreach ($cores as $key => $value) {
   echo "O meu $key; é da cor $value<br />\n";
}

Epa... eu n me importo de ajudar e explicar, até o faço com prazer. N me leves isto a mal, mas habitua-ta a ir SEMPRE consultar o manual. Não é por mim outras pessoas aqui no fórum não ajudarem, porque nós ajudamos,.. simplesmente é melhor para ti pois é mais rapido... se não perceberes aí entao tens por exemplo este magnifico fórum.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pedrotuga , felizmente já ando neste fórum à muito tempo mesmo, já tive épocas em que não gostava de procurar e não é o caso..

procurei , procurei, tirei tutoriais e não entendi.. simplesmente porque percebi que era mais um ciclo e como nunca o tinha visto(só estou habituado aos ciclos de linguagem C) fiquei muito confuso.

mas obrigado pela tua simpatia :P

só uma questão, sem ser echos, que outras funções em um desenvolviemnto de um web site se pode atribuir ao foreach() ?

outra dúvida..

nomes['tiago'] = "Branco";

nomes['Pedro'] = 'Amarelo";

nomes['Antonio'] ="Vermelho";

nomes['Rui'] = "Rosa";

foreach( $nomes as $nome => $cor)

qual é a diferença entre => e ->

é que  existe tutoriais que usam o -> , exemplo

foreach( $this->plots as $p )

e porque do -> estar no inicio  »?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Lá está uma pergunta que gera muita confusão.

O -> é usado em programção orientada a objectos e serve para referenciar uma rotina ou um atributo de um objecto. Eu não sou muito pela POO pelo que não a uso muito e não domino a sua sintaxe. Mas para te dar um exemplo simples:

imagina que criaste uma classe "carrinhodecompras" e que a certa altura no teu programa crias um objecto do tipo carrinhodecompras chamado por exmeplo "omeucarrinho". O operador -> pode ser usado para aceder às rotinas ou atributos da classe a qual esse objecto pertence, por exemplo:

$omeucarrinho->esvazia();

isto podia por exemplo esvaziar.

Imagina que a classe permitia definir um tamanho máximo para cada carrinho, para o caso de queres que em cliente qq n pudesse comprar por exemplo mais do que tres produtos por dia...

o tamanho docarrinho estaria disponivel na seguinte variavel:

$omeucarrinho->$tamanho

( se tiver erros de sintaxe corrijam-mos pf )

quanto ao operador => apenas é utilizado em arrays.

tipo...

$cor= array ( "casaco" => "verde", "cachecol"=>"azul" );

echo o meu casaco é $cor["casaco"];

o foreach serve para tudo o que os outros ciclos servem, lool :P

pa... no meu site usei o foreach para gerar uma lista de checkboxes a partir de registos da base de dados, aquilo envia um array pelo post... no array vai o id do registo na bd em questão como chave e o estado como valor.

isto é só um exemplo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

má escolha, se não gostá -se de ler não comprava um livro de 600 páginas em inglês de php 4..

obrigado pedro tuga :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Compraste um livro em inglês de PHP 4 e não sabes fazer isso ? Essas são as primeiras coisas que os livros e manuais ensinam.

Se não sabes isso é proque ainda nem leste o livro...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

E o livro que compraste concerteza que não é para ti (PHP 4.3 de Carlos Serrão e Joaquim Marques)  eu aprendi na net sem ler nenhum livro isso tudo é preguiça que tens.

Mas pronto a vida é tua  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem , tinha dado este tópico como encerrado mas rapidamente achei que iria ter mais dúvidas..

Absurdo ou não, perdi uma tarde inteira para aprender o foreach()

fiz isto :

<?php
$preco_produtos["Roupas"]["Calcas"] = 20;
$preco_produtos["Roupas"]["T-Shirts"]=10;
$preco_produtos["Acessorios"]["Luvas"] = 45;
$preco_produtos["Acessorios"]["Saco de Boxe"]=76;

foreach ($preco_produtos as $sector )
{
foreach ($sector as $produto => $preço)
echo "<br>$produto -- $preço";
}
?>

agora sim funcional mas antes tinha feito isto:

<?php
foreach ($preco_produtos as $sector => $produto)
{
foreach ($produto as $preço)
echo "$produto -- $preço";
}

?>

já percebi como funciona mas alguem me pode dar uma ajuda para fazer a mesma coisa que eu quero mas usando o => no primeiro foreach sff ?

outra dúvida, quando vocês declaram um array , usam mais a syntax => " $nome = array(10=>"Tiago"); ou fazem logo $nome[10] = "tiago" ; ?

obrigado malta  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora