Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola, Boa Tarde Amigos...
Como recebo e trato dados que vem do campo como array?
Ex.:
Chave: <input type="text" name="chave[]" /> Valor:<input type="text" name="valor[]" /> <br />
Chave: <input type="text" name="chave[]" /> Valor:<input type="text" name="valor[]" /> <br />
Chave: <input type="text" name="chave[]" /> Valor:<input type="text" name="valor[]" /> <br />
Chave: <input type="text" name="chave[]" /> Valor:<input type="text" name="valor[]" /> <br />
Chave: <input type="text" name="chave[]" /> Valor:<input type="text" name="valor[]" /> <br />
Chave: <input type="text" name="chave[]" /> Valor:<input type="text" name="valor[]" /> <br />
Algo Desse tipo?
foreach(array($valor) as $info1)
foreach(array($nome) as $info2)
for($i = 0; $i < count($info1); $i++) {
// echo $info2[$i]." => ".$info1[$i]."<br>";
$array = array($info2[$i] => $info1[$i]);
print_r ($array); print "<br />";
}
Só que ta saindo errado, ta saindo assim
Array ( [nome] => ronny )
Array ( [=> online@ronnysantana.com.br )](mailto:)
[Array ( [cidade] => recife )](mailto:)
[Array ( [profissão] => tec info )](mailto:)
Inicialmente é só para ARRAY
isso que você keria
form.htm
<form method='post' action='recebe.php'>
Chave: <input type="text" name="chave[]" /> Valor:<input type="text" name="valor[]" /> <br />
Chave: <input type="text" name="chave[]" /> Valor:<input type="text" name="valor[]" /> <br />
Chave: <input type="text" name="chave[]" /> Valor:<input type="text" name="valor[]" /> <br />
Chave: <input type="text" name="chave[]" /> Valor:<input type="text" name="valor[]" /> <br />
Chave: <input type="text" name="chave[]" /> Valor:<input type="text" name="valor[]" /> <br />
Chave: <input type="text" name="chave[]" /> Valor:<input type="text" name="valor[]" /> <br />
<input type='submit'>
</form>
recebe.php
<?php
$i = 0;
foreach ($_POST['chave'] as $chave){
echo "Chave: ".$chave." - Valor: ".$_POST['valor'][$i]."<br>";
$i++;
}
?>>
isso que você keria
form.htm
<form method='post' action='recebe.php'>
Chave: <input type="text" name="chave[]" /> Valor:<input type="text" name="valor[]" /> <br />
Chave: <input type="text" name="chave[]" /> Valor:<input type="text" name="valor[]" /> <br />
Chave: <input type="text" name="chave[]" /> Valor:<input type="text" name="valor[]" /> <br />
Chave: <input type="text" name="chave[]" /> Valor:<input type="text" name="valor[]" /> <br />
Chave: <input type="text" name="chave[]" /> Valor:<input type="text" name="valor[]" /> <br />
Chave: <input type="text" name="chave[]" /> Valor:<input type="text" name="valor[]" /> <br />
<input type='submit'>
</form>
recebe.php
<?php
$i = 0;
foreach ($_POST['chave'] as $chave){
echo "Chave: ".$chave." - Valor: ".$_POST['valor'][$i]."<br>";
$i++;
}
?>
Deu erro... http://jostape.com.br/php/array/teste_foreach2.php
Deixa eu te explicar; Essa dúvida veio a partir de um exercicio do curso de php
Na aula do dia 23/10/2010 tivemos um exercicio de array, no formulario passamos os dados assim chave1 valor1, chave2 valor2, chave3 valor3 e processamos com php
O codigo que processa ta aqui.. http://phpbin.net/x/149003706, o formulario é esse http://phpbin.net/x/906932799, demo online http://jostape.com.br/php/array/ex_array1.php
Heis a dúvida, acho que o interessante é passar os dados assim: chave[], valor[] ? Ou não?
E como faço o processamento dessa forma?
Vi algo desse tipo na net, "foreach($array as $chave => $valor)" mais não consegui fazer funcionar.
Eu costumo fazer assim:
<?php
$k =& $_POST[ 'chaves' ];
$v =& $_POST[ 'valores' ];
for( $i = 0, $size = min( count( $k ), count( $v ) ); $i < $size; ++$i ) {
printf( '%s => %s<br />%s', $k[ $i ], $v[ $i ], PHP_EOL );
}Amigo não tem bicho de 7 cabeças nisto.
Seu link da um erro na linha 18. Como saberemos o que tem escrito na linha 18 do seu código? ^_^
Quando der um erro poste o código para vermos oque tem de errado.
A principio vi que você trata inputs com nome e valor e não chave e valor.
De uma verificada e poste para nós o código caso continue com erro.
Se copiou o código do amigo Victor não se esqueça de adicionar o value ao input.
Saber HTML básico é imprecindível para se trabalhar com PHP, não se esqueça de estudar
bem HTML antes de partir para linguagens Server-Side, pois vai precisar entender como
trabalhar com as duas e não se consegue chegar ao fim sem saber o começo :D
Abraços.
Ola,
Tanto faz, voce pode tratar usando o for (usando o count) ou utilizando o foreach, depende do que voce vai fazer com os dados apos trata-los (ex: retornar para o mesmo array ? , banco ?)
Leitura: http://php.net/manual/en/control-structures.for.php - http://php.net/manual/en/control-structures.foreach.php
Exemplos:
foreach($vetor as $temp) {
// $vetor foi modificado com os novos dados// TRATAR TEMP
}