Jump to content


Photo

Problema Com Array


  • Faça o login para participar
4 replies to this topic

#1 Diogo a

Diogo a

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 22/04/2007, 15:06

Olá pessoal,

Eu estou fazendo um codigo que pega 3 arrays de mesmo tamanho nome level e voc e imprime so as arrays que tem None na $voc...

aparentemente funciona mas depois que olhei melhor na pagina de impressao ele mantem as arrays deletadas(unset) e as mostra com valor em branco e tambem parece que ele não vai até o final procurando por todos os arrays, exemplo: ele procura de nome A até L e para ele nao continua olhando a array

alguem sabe o que estou fazendo de errado?

//so pega quem quem tem "Rook" no voc
for($count=2;$count<count($voc)+2;$count++){
	if ($voc[$count] <> 'None'){ 
		unset($nomes[$count]);
		unset($level[$count]);
		unset($voc[$count]);
	}
}	

//mostra todos os nomes
	echo	"<tr>";		
		echo		"<td bgcolor=".$corB.">".$nomes[$count]."</td>   <td bgcolor=".$corB.">".$level[$count]."</td>	<td bgcolor=".$corB.">".$voc[$count]."</td>";
	  echo	"</tr>";	
	}
			
	echo "</table>";
}

será que eu tenho que fazer uma nova array pra pegar todas as 3 arrays juntas?

Obrigado!

#2 Evitark

Evitark

    Normal

  • Usuários
  • 67 posts
  • Sexo:Masculino

Posted 22/04/2007, 16:32

Não entendi exatamente o que você quer... por favor explique novamente, e tente colocar o código todo. Ví que tem 2 chaves fechando alguma coisa que não dá pra saber o que é.

#3 Diogo a

Diogo a

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 23/04/2007, 12:04

Deixe-me explicar novamente
eu tenho 3 arrays sendo que as 3 tem informações de um usuario por exemplo

array nome:
1- Diogo
2- Carlos
2- Bruno

array idade
1- 15
2- 20
3- 30

array ocupação
1- estudante
2- engenheiro
3- aposentado

sendo
Diogo 15 anos estudante
Carlos 20 anos engenheiro
Bruno 30 anos aposentado

agora vamos ao meu codigo

//so pega quem tem "estudante" na array ocupação
for($count=0;$count<count($ocupação);$count++){
	if ($ocupação[$count] <> 'estudante'){
//aqui descarta a array
		unset($nomes[$count]);
		unset($level[$count]);
		unset($voc[$count]);
	}
}	

//mostra todos os nomes
echo "<tr>";		
echo   "<td bgcolor="blue">".$nomes[$count]."</td>   <td bgcolor="blue">".$level[$count]."</td>	<td bgcolor="blue">".$voc[$count]."</td>";
echo "</tr>";	
	}	
echo "</table>";
}

Edição feita por: Diogo a, 23/04/2007, 12:06.


#4 sk15

sk15

    Super Veterano

  • Usuários
  • 2071 posts
  • Sexo:Masculino
  • Localidade:SP - SP

Posted 23/04/2007, 13:49

Não entendi muito bem ...
Até onde entendi vc quer mostrar quem é "estudante" por exemplo, não seria mais facil já mostrar em vez de extrair?

<?php
$nome = $idade = $ocupacao = array();

// Nomes nos Arrays
$nome[] = "Diogo";
$nome[] = "Carlos";
$nome[] = "Bruno";

// Idades Pessoas nos Arrays
$idade[] = "15";
$idade[] = "20";
$idade[] = "60";

// Opcupação nos Arrays
$ocupacao[] = "estudante";
$ocupacao[] = "engenheiro";
$ocupacao[] = "aposentado";

// Só pega quem tem "estudante" na array ocupação
for($i = 0; $i < count($ocupacao); $i++) {
 if ($ocupacao[$i] == "estudante") {
  echo '<tr bgcolor="blue">
   <td>' . $nome[$i] . '</td>
   <td>' . $idade[$i]. '</td>	
   <td>' . $ocupacao[$i] . '</td>
  </tr>';	
 }
}
?>

A uma OBS no seu código vc está usando acentos nas palavras e o PHP não aceita isso, talvez ai esteje o erro ...

....
for($count=0;$count<count($ocupação);$count++){
if ($ocupação[$count]......


Edição feita por: sk15, 23/04/2007, 13:49.


#5 Diogo a

Diogo a

    Novato no fórum

  • Usuários
  • 16 posts
  • Sexo:Não informado

Posted 24/04/2007, 10:53

Consegui sk15!

vlw pela ajuda , é bem melhor so separar o que eu quero do que ir deletando as arrays que eu não quero, está funcinoando 100%




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq