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.
Edição feita por: awls99, 27/04/2009, 06:58.