Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nilson Jr. (@mandachuvamg)

[Resolvido] Como faço um vetor para receber os dados do form

Recommended Posts

Codigo do form

<? if($etapa=="1"){
	$contador == 0; ?>
<form id="form1" name="form1" method="post" action="?etapa=2">
  <div align="center" class="style4">
   <?	while($contador != $_POST[narestas]){ $contador = $contador+1; ?>
   <p>Aresta (<? echo"$contador"; ?>):
	  <input name="aresta[]" type="text" id="aresta[]" size="10" maxlength="2" />   
	Peso:
	<input name="peso[]" type="text" id="peso[]" size="10" maxlength="10" />
	</p>
	<? } ?>
	<p>
	  <input type="submit" name="button" id="button" value="Gerar MST >>" />
	</p>
  </div>
</form>
<? 
} if($etapa=="2"){
	include"gera_arvore.php";
}
?>

Gera Arvore

 

foreach($HTTP_POST_VARS['aresta'] as $v_aresta){
	$arcs = array($aresta[i],$contador[i]);
	  }

 

Como faço para receber todas as arestas e pesos informadas pelo usuario em um vetor tipo este:

$arcs = array(

"AB" => 17,

"BC" => 23,

"CD" => 32,

"DE" => 14,

"AF" => 11,

"FG" => 19,

"BG" => 28

);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro - $HTTP_POST_VARS está em desuso. Use $_POST.

 

Segundo - O nome do teu input já esta correto, aresta[]. Não precisa mudar mais nada.

 

Terceiro - Faça um teste para comprovar.

Deixe o input com o nome aresta[], e no PHP faça isso:

 

print_r($_POST['aresta']);

E olhe o resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é bem simples, com funções como array_keys, ou mesmo while/for junto com uma variável contadora

 

http://br.php.net/array_keys

 

ex. p/ exibir todo conteudo de um array.

 

<?php

 

$val = array('oi','imprimindo','legal' => 'valores','array');

 

foreach(array_keys($val) as $keys)

{

echo $keys.' = '. $val[$keys].'<br>';

}

 

?>

imprime 0 = oi, 1 = imprimindo, legal = valores, 3 = array...

Compartilhar este post


Link para o post
Compartilhar em outros sites

preciso juntar os dois vetores (aresta e peso), como neste exemplo:

$arcs = array(
	"AB" => 17,
	"BC" => 23,
	"CD" => 32,
	"DE" => 14,
	"AF" => 11,
	"FG" => 19,
	"BG" => 28,
	"GH" => 27,
	"CH" => 21,
	"HI" => 15,
	"DI" => 11,
	"IJ" => 42
);
isso representa uma arvore, com ela devo calcular o caminho minimo com uma função que já tenho,

então preciso juntar o vetor $aresta => $peso

 

Como faço isso?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php

$a = array('AB', 'CD', 'EF', 'GH', 'IH');
$b = array('01', '02', '03', '04', '05');

$ab = array_combine($a, $b);

print_r($ab);

?>

http://us2.php.net/manual/pt_BR/function.array-combine.php

 

array_combine() une dois arrays, prevalecendo o indice de um e os valores de outro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

certo,

no caso eu tenho dois vetores, um $_POST[aresta] e o outro $_POST[peso]

 

Fiz isto

 

$arcs = array_combine($_POST['aresta'], $_POST['peso']);

Funcionou!

 

Olhe: http://www.vocenoagito.net/grafos/kruskal

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.