Jump to content


awls99

Member Since 09/04/2008
Offline Last Active 27/04/2009, 10:41
-----

Topics I've Started

Função Não Altera Array De Modo Permanente

27/04/2009, 06:54

Bom dia.
Para ja pesso desculpas se o problema é um pocado noob, mas eu sou um cadinho noob em php.

O meu problema é o seguinte, eu uso uma função para fazer algumas comparações entre arrays, informção do session e a base de dados e no fim deste processo atribuir a uma das arrays um novo index com o resultado das comparações.
function checkwhattodo($coiso, $n, $array){

//grande query, comparações usando if e dps um switch

switch ($editar){
		  case 'noteam':
							$array[$n]["texto"] = 'criar equipa neste evento';
							alert('1');
							break;
		  case 'npodes':
							 $array[$n]["texto"] = 'equipas trancadas';
							 alert('w');
							break;
		  case 'podes':
							 $array[$n]["texto"] = 'editar equipa';  // [b][u]este é o caso que acontece sempre durante o teste[/u][/b]
							 var_dump ( $array); //para efeitos de debug
							 echo '<br>';
							 alert('3');
							break;
		  default:
							 $array[$n]["texto"] = 'alguem fez xxxxxx';
							 alert('4');
							break;

}
eu ja verifiquei e todo o resto da função esta a funcionar correctamente, dps a frente no codigo tenho o seguinte:
checkwhattodo($eventteam, $n, $eventos);
var_dump ($eventos);

era suposto que a função checkwahttodo modificasse o array $eventos, mas quando comparo os dois var_dumps (o que ta na função e o que ta fora dela) verifico que as modificações ao array não sairam da função.

array(2) { [0]=> array(12) { ["eid"]=> string(1) "1" ["nome"]=> string(15) "evento de teste" ["sigla"]=> string(7) "T.E.S.T" ["localizacao"]=> string(7) "My head" ["foto"]=> NULL ["descricao"]=> string(25) "Evento para testar o site" ["maxparticipantes"]=> string(1) "5" ["datainicio"]=> string(19) "2009-04-20 00:00:00" ["datafim"]=> string(19) "2010-04-20 00:00:00" ["datalimitealt"]=> string(19) "2009-06-20 00:00:00" ["nmaxalt"]=> string(1) "5" ["texto"]=> string(13) "editar equipa" } [1]=> array(11) { ["eid"]=> string(1) "2" ["nome"]=> string(21) "mais testes eventuais" ["sigla"]=> string(7) "EZ TEST" ["localizacao"]=> string(9) "My laptop" ["foto"]=> NULL ["descricao"]=> string(22) "Outro evento pa testar" ["maxparticipantes"]=> string(1) "5" ["datainicio"]=> string(19) "2100-04-01 00:00:00" ["datafim"]=> string(19) "2100-04-02 00:00:00" ["datalimitealt"]=> string(19) "2100-04-01 00:00:00" ["nmaxalt"]=> string(1) "2" } }
array(2) { [0]=> array(11) { ["eid"]=> string(1) "1" ["nome"]=> string(15) "evento de teste" ["sigla"]=> string(7) "T.E.S.T" ["localizacao"]=> string(7) "My head" ["foto"]=> NULL ["descricao"]=> string(25) "Evento para testar o site" ["maxparticipantes"]=> string(1) "5" ["datainicio"]=> string(19) "2009-04-20 00:00:00" ["datafim"]=> string(19) "2010-04-20 00:00:00" ["datalimitealt"]=> string(19) "2009-06-20 00:00:00" ["nmaxalt"]=> string(1) "5" } [1]=> array(11) { ["eid"]=> string(1) "2" ["nome"]=> string(21) "mais testes eventuais" ["sigla"]=> string(7) "EZ TEST" ["localizacao"]=> string(9) "My laptop" ["foto"]=> NULL ["descricao"]=> string(22) "Outro evento pa testar" ["maxparticipantes"]=> string(1) "5" ["datainicio"]=> string(19) "2100-04-01 00:00:00" ["datafim"]=> string(19) "2100-04-02 00:00:00" ["datalimitealt"]=> string(19) "2100-04-01 00:00:00" ["nmaxalt"]=> string(1) "2" } }


Todo o resto da função foi testada, usando var_dump e alerts para descubrir onde estava o erro, mas no fim descobri isto e simplesmente tou sem ideias de como resolver.

Agradeço com antedecencia a vossa ajuda.

PS.: So para exclarecer, a variavel $eventos é uma array bi-dimiensional ANTES da execução da função, resultado de um select de mysql.

Obrigado

18/07/2008, 14:14

Boa tarde, vocês não me conhecem, mas gostaria de agradecer ao pessoal deste forum.
Tenho 22 anos, vivo em Portugal e acabei recentemente o meu curso superior em TIC .
Aqui, existe o estágio curricular, no final do curso, vamos trabalhar em uma empresa com um contrato com a universidade e somos avaliados por esse trabalho e a nota do estágio é uma grande parcela da nota final do curso.
O meu estágio foi passado a programar um sistema de gestão de um concurso em ASP + SQL, no inicio estava bastante clueless sobre como fazer inúmeras tarefas, mas graças a exemplos de código aqui postado e a respostas dadas a pessoas que tiveram problemas semelhantes aos meus pude superar os desafios que me foram apresentados e tirar uma boa nota.
Incluí um agradecimento as pessoas deste fórum na minha apresentação de estágio. :)

A serio, obrigado, não teria feito aquilo sem a vossa ajuda!

(Btw, não copiei nenhum código a ninguém, simplesmente usei métodos e técnicas baseadas em exemplos que vi aqui.)

IPB Skin By Virteq