Ir para conteúdo

POWERED BY:

Arquivado

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

Eduardo Giullyanny

[Resolvido] jeito doido com array

Recommended Posts

bom dia amigos...

 

eu ia postar um nova dúvida qdo tive uma ideia...

Minha dúvida era como eu podia zerar um indice de array (iniciar a contagem novamente...)

eu estava recebendo o array assim.:

Array

(

[0] => Cálcio

[1] => Enxofre

[2] => Iodo

)

 

Array

(

[0] => calcio

[3] => enxofre

[6] => iodo

)

 

INSERT INTO nutricao_niveisgarantia VALUES (NULL, '0', 'Cálcio', 'calcio')

INSERT INTO nutricao_niveisgarantia VALUES (NULL, '0', 'Enxofre', '')

INSERT INTO nutricao_niveisgarantia VALUES (NULL, '0', 'Iodo', '')

 

percebem nos indices q estão com listagem diferente pois usei o array_filter() para eliminar os arrays vazios

 

mas ai apareceu um problema nos insert abaixo eles n estavam listando pois usava um "for" para contar os arrays de cima ai tinha uma seguencia e o de baixo outra... ai o insert do for fica comprometido.

 

ai usei este codigo aqui.:

$niveis				= array_filter($_POST['niveis']);
$vlNiveis			= array_filter($_POST['vlNiveis']);
$vlNiveis0			= array();
foreach ($vlNiveis as $nVlNiveis){
array_push($vlNiveis0, $nVlNiveis);
}
echo "<pre>";
print_r($niveis);
echo "</pre>";
echo "<pre>";
print_r($vlNiveis0);
echo "</pre>";


		$idProdutos = mysql_insert_id();
		$ct = count($_POST['niveis']);
		for ($i=0; $i<$ct; $i++) {
			echo $insertNiveis = "INSERT INTO nutricao_niveisgarantia VALUES (NULL, '".$idProdutos."', '" .$niveis[$i]. "', '" .$vlNiveis0[$i]. "')<br />";
		}

 

funcionou??? é claro q sim zerou os indices e funcionou...(ainda bem pq eu queria matar o php, rsrsrs)

vejam.:

Array

(

[0] => Cálcio

[1] => Enxofre

[2] => Iodo

)

 

Array

(

[0] => calcio

[1] => enxofre

[2] => iodo

)

 

INSERT INTO nutricao_niveisgarantia VALUES (NULL, '0', 'Cálcio', 'calcio')

INSERT INTO nutricao_niveisgarantia VALUES (NULL, '0', 'Enxofre', 'enxofre')

INSERT INTO nutricao_niveisgarantia VALUES (NULL, '0', 'Iodo', 'iodo')

 

masssa demais!

 

Peço q usei de ajuste para fazer isso funcionar, mas gostaria q alguem q tenha uma experiencia com isso e me diga qual seria a forma mais correta de usar para fazer isso!

 

O que eu usei para fazer seria o mais correto?

Como vcs fariam?

 

Agradeço por lerem a minha dúvida!

Compartilhar este post


Link para o post
Compartilhar em outros sites

não sabia como poderia pesquisar sobre o assunto mas seria algo como "ordenar arrays"

vi isso tb.: Clique aqui

 

mas pelo que entendi do sort() ele num muda os indices, foi o que eu fiz com foreach e array_push()...

 

ou será q entendi mal?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim. É realmente ordenar arrays. O que você fez até chega em alguns resultados, mas já existe funções que fazem o trabalho para você. Como o post que você colocou como link, há ali no manual várias funções que podem te auxiliar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Notes

 

Note: This function assigns new keys to the elements in array. It will remove any existing keys that may have been assigned, rather than just reordering the keys.

fonte: http://br2.php.net/sort

 

 

ou seja, são criadas novas chaves pro array

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.