Guest marcia33 Postado Julho 11, 2008 Denunciar Share Postado Julho 11, 2008 gente preciso montar um array tipo:$array=array($dado1[$i],$dado2[$2]);ou seja, preciso montar um array com duas variáveis isso é possível? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Julho 11, 2008 Denunciar Share Postado Julho 11, 2008 $array=array(); $array[] = $dado1; $array[] = $dado2; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest marcia33 Postado Julho 11, 2008 Denunciar Share Postado Julho 11, 2008 OK ESerraDai como eu acesso esses dados?tipo assim, print os dados e depois como acessar o valor deles?tipo: $array[1,'dado1'];$array=array(); $array[] = $dado1; $array[] = $dado2; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cassianooliver Postado Julho 11, 2008 Denunciar Share Postado Julho 11, 2008 usa foreach() Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest marcia33 Postado Julho 11, 2008 Denunciar Share Postado Julho 11, 2008 vou usar como nesse exemplo:$j=0; $fase=0; while($j < $X){ if (!in_array(gmdate("w",$DATA1),$noworkingdays)){ $DATA1_t[$j]=$DATA1; if($DATA1_t[$j] <= ($dado_fase[$fase]['dado_fim'])){ $datay4 = $dado_fase[$fase]['pico'];} onde $fase é um contador [indice]usa foreach() Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Julho 11, 2008 Denunciar Share Postado Julho 11, 2008 Para acessar....echo $array['0'];echo $array['1'];...echo $array['n'];Onde n é o último elemento, o bom do foreach é que faz automático... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest marcia33 Postado Julho 11, 2008 Denunciar Share Postado Julho 11, 2008 meu código é assim:CODE//cálculo da quantidade para jogar nos eixo y4 - estoque máximo$ver="SELECT numrecurso,data_ini_fase,data_fim_fase FROM tab_fases WHERE nomeprojeto='".$nome."' AND numrecurso=".$material." ORDER BY data_ini_fase ASC";$query=mysql_query($ver);$numero=mysql_num_rows($query);$i=0;while($read=mysql_fetch_array($query)){$dado_ini[$i]=$read['data_ini_fase'];$dado_fim[$i]=$read['data_fim_fase'];$sql5 = "SELECT picoestoque_fase FROM tab_fases WHERE nomeprojeto=".$nome."' AND numrecurso=".$material." AND data_ini_fase=".$dado_ini[$i];$res6 = mysql_query($sql5,$db);$resultado = mysql_fetch_array($res6);$pico[$i]=$resultado['picoestoque_fase];$dado_fase=array();$dado_fase[$i] = $dado_fim[$i];$dado_fase[$i] = $pico[$i];print "dado_fase[$i]'[dado_fim[$i]']=.$dado_fase[$i]['dado_fim[$i]]."<br>";$i++;}$j=0;$fase=0;while($j < $X){if (!in_array(gmdate("w",$DATA1),$noworkingdays)){$DATA1_t[$j]=$DATA1;if($DATA1_t[$j] <= ($dado_fase[$fase]['dado_fim'])){$datay4[$j] = $dado_fase[$fase]['dado_fim']; //pontos da linha de estoque máximo}else{$fase++;continue;}$j++;}$DATA1 += 86400;}Onde primeiro faço uma query no banco de dados onde estará armazenado para um determinado material, uma data de inicio de fase, uma de fim de fase e o pico de estoque para aquela fase. Posso ter n fases, e sempre terei então o material, o inicio da fase, o final e o pico.então vem o while pra ler pra cada material o valor de inicio e final. Na sequencia do mesmo while faço uma query no bd para capturar o pico de estoque da fase, tambem para cada material. então quando $i=0, capturei um valor de inicio de fase, um de fim de fase e um de pico de estoque do material pra aquela fase . Ok, agora preciso gerar um array com esses dados:CODE$dado_fase=array();$dado_fase[$i] = $dado_fim[$i];$dado_fase[$i] = $pico[$i];O que acho que deve estar errado.No outro looping o que faço é, a partir de uma data inicial que uso pra gerar um grafico, abrir o intervalo pra 30 dias, pois $X=30.Em seguida testar se o cada dia é menor ou igual ao valor armazenado no array pra dado_fim (final da primeira fase), pra gerar os pontos de uma linha [$datay4] que traçará uma linha de pico de estoque máximo pra cada fase. Se o valor da data DATA1_t é maior que a data de fim de uma fase, vou pro else e incremento o contador fase. Infelizmente, da maneira que está no código, não tem funcionado. Necessito ajuda...Para acessar....echo $array['0];echo $array['1'];...echo $array['n'];Onde n é o último elemento, o bom do foreach é que faz automático... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest marcia33 Postado Julho 11, 2008 Denunciar Share Postado Julho 11, 2008 o array ficou assim:$dado_fase[$i]=array($dado_fim[$i],$pico[$i]); usei um foreach pra ler o array e ele está correto. gera exatamente assim: dado_fim pico 1089072000 187 1103853600 147 pro caso onde eu tenha 2 fases o problema agora e usar o valor no if, pois vou ler pa partir do contador $fase if($DATA1_t[$j] <= ($dado_fase[$fase]['dado_fim'])){ $datay4[$j] = $dado_fase[$fase]['dado_fim']; }já que dessa maneira que estou tentando fazer não tem funcionado.Alguém sabe me dizer como ? ou seja a sintaxe para o if, para ler os valores de dado_fim dentro do array ?meu código é assim:CODE//cálculo da quantidade para jogar nos eixo y4 - estoque máximo$ver="SELECT numrecurso,data_ini_fase,data_fim_fase FROM tab_fases WHERE nomeprojeto='".$nome."' AND numrecurso=".$material." ORDER BY data_ini_fase ASC";$query=mysql_query($ver);$numero=mysql_num_rows($query);$i=0;while($read=mysql_fetch_array($query)){$dado_ini[$i]=$read['data_ini_fase'];$dado_fim[$i]=$read['data_fim_fase'];$sql5 = "SELECT picoestoque_fase FROM tab_fases WHERE nomeprojeto=".$nome."' AND numrecurso=".$material." AND data_ini_fase=".$dado_ini[$i];$res6 = mysql_query($sql5,$db);$resultado = mysql_fetch_array($res6);$pico[$i]=$resultado['picoestoque_fase];$dado_fase=array();$dado_fase[$i] = $dado_fim[$i];$dado_fase[$i] = $pico[$i];print "dado_fase[$i]'[dado_fim[$i]']=.$dado_fase[$i]['dado_fim[$i]]."<br>";$i++;}$j=0;$fase=0;while($j < $X){if (!in_array(gmdate("w",$DATA1),$noworkingdays)){$DATA1_t[$j]=$DATA1;if($DATA1_t[$j] <= ($dado_fase[$fase]['dado_fim'])){$datay4[$j] = $dado_fase[$fase]['dado_fim']; //pontos da linha de estoque máximo}else{$fase++;continue;}$j++;}$DATA1 += 86400;}Onde primeiro faço uma query no banco de dados onde estará armazenado para um determinado material, uma data de inicio de fase, uma de fim de fase e o pico de estoque para aquela fase. Posso ter n fases, e sempre terei então o material, o inicio da fase, o final e o pico.então vem o while pra ler pra cada material o valor de inicio e final. Na sequencia do mesmo while faço uma query no bd para capturar o pico de estoque da fase, tambem para cada material. então quando $i=0, capturei um valor de inicio de fase, um de fim de fase e um de pico de estoque do material pra aquela fase . Ok, agora preciso gerar um array com esses dados:CODE$dado_fase=array();$dado_fase[$i] = $dado_fim[$i];$dado_fase[$i] = $pico[$i];O que acho que deve estar errado.No outro looping o que faço é, a partir de uma data inicial que uso pra gerar um grafico, abrir o intervalo pra 30 dias, pois $X=30.Em seguida testar se o cada dia é menor ou igual ao valor armazenado no array pra dado_fim (final da primeira fase), pra gerar os pontos de uma linha [$datay4] que traçará uma linha de pico de estoque máximo pra cada fase. Se o valor da data DATA1_t é maior que a data de fim de uma fase, vou pro else e incremento o contador fase. Infelizmente, da maneira que está no código, não tem funcionado. Necessito ajuda...Para acessar....echo $array['0];echo $array['1'];...echo $array['n'];Onde n é o último elemento, o bom do foreach é que faz automático... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest marcia33
gente
preciso montar um array tipo:
$array=array($dado1[$i],$dado2[$2]);
ou seja, preciso montar um array com duas variáveis
isso é possível?
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.