Array com valores repetidos

15/12/2015

[code]$email=query("SELECT valor FROM tempo");
while ($mail = $email->fetch_assoc()) {
$string = $mail['valor'];
$array = explode(',', $string);
//print_r($array);
}

for ($i=1; $i < count($array) ; $i++) {
print($array[$i]);
}/code]

Ele exibe pra mim o valor repetido varias vezes.

PHP

Arthur Scarpelli

Respostas

15/12/2015

Jothaz

O "explode" é para jogar um string para array veja exemplo[url:descricao= PHP explode() Function ]http://www.w3schools.com/php/func_string_explode.asp[/url]


Para o que você quer, se entendi direito usr:

$res = mysql_query("SELECT * FROM pagina"); 
$escrever=mysql_fetch_array($res);
Responder Citar

15/12/2015

Arthur Scarpelli

Não funciona cara eu testei isso com valores que não vinham do banco. Precios pegar a string e separar ela no array dividindo por ,(virgula)
Responder Citar

15/12/2015

Jothaz

Quando criar um post seja o mais claro possível, pois do contrário fica difícil adivinhar o que você deseja e ajudá-lo.
Use a tag code [code] ou clique no ícone "</>" e post o código dentro das tags, senão fica uma merda para ler o código postado.

Não funciona porque você esta fazendo um bagunça de conceitos.

Não existem array separado por virgulas, então o que você quer não vai ser possível fazer.

Se for possível ser mais claro no que você pretende talvez possamos ajudá-lo.
Responder Citar

15/12/2015

Arthur Scarpelli

Então deixa eu colocar um outro exemplo.

$string = "joão, maria, jose, pedro";
$t  = explode(',', $string);
//print_r($t);
$t = array_unique($t);

for ($i=1; $i < count($t) ; $i++) { 
    print($t[$i]);
}


esta impressão retorna varias vezes o mesmo registro.

Lembrando que o que eu quero é só exibir todos os itens deste Array.
Responder Citar

15/12/2015

Jothaz

Não tenho com testar, pois não tenho PHP instalado no notebook que estou usando agora, mas teste o código abaixo.

$string = "joão, maria, jose, pedro";
$t  = explode(',', $string,-1);
 
for ($i=1; $i < count($t) ; $i++) { 
    print($t[$i]);
}

Responder Citar

15/12/2015

Arthur Scarpelli

Não funcionou continua listando muitos valores.
Só que lista apenas jose e Maria
.
Responder Citar

15/12/2015

Jothaz

Testa assim:


$string = 'joão,maria,jose,pedro';
$t  = explode(',', $string,-1);
 
for ($i=1; $i < count($t) ; $i++) { 
    print_r($t[$i]);
}



Ou veja este exemplo:

$string = 'joão,maria,jose,pedro';
print_r(explode(',',$string,-1));
Responder Citar

15/12/2015

Jothaz

Como eu disse você esta fazendo uma bagunça.

Consegui testa online em phpfiddle e o código abaixo e funciona.

Só alterei o for para começar de 0, padrão do PHP e não de 1.

$string = 'joão,maria,jose,pedro';
$t  = explode(',', $string,-1);
print_r($t);

echo('<br> ');

print_r(count($t));

echo('<br> ');

for ($i=0; $i < count($t) ; $i++) { 
    print_r($t[$i]);
	echo('<br> ');
}


E veja o resultado:
[img]http://arquivo.devmedia.com.br/forum/imagem/418027-20151215-153413.png[/img]
Responder Citar

15/12/2015

Arthur Scarpelli

Então funcionou só queria saber como eu faço para guardar o valor do print_r em uma variável string.
Porque ele imprime certinho mas não guarda o valor certo.
Responder Citar

15/12/2015

David Sylvestre

Se for realizar um loop em um array, utilize foreach.
Responder Citar