Carcleo 4 Denunciar post Postado Julho 27, 2011 Olá pessoal. Boa tarde. Tenho o seguinte array: Array ( [0] => Array ( [id_prod] => 3 [quan] => 1 [id_lista] => 2 ) [2] => Array ( [id_prod] => 6 [quan] => 2 [id_lista] => 2 ) [4] => Array ( [id_prod] => 1 [quan] => 3 [id_lista] => 2 ) ) Tenho um codigo para saber quais os valores que estão em [id_prod]. Porem o valor do indice 4 não esta vindo. Onde será que esta o erro? for( $i = 0; $i < count( $dados ); $i++ ) { print "<br>".$dados[ $i ] [ 'id_prod' ]."oi"; if( !empty( $dados[ $i ] [ 'id_prod' ] ) ) { $Query = sprintf( 'SELECT id FROM produtos WHERE id = %d', $dados[ $i ] [ 'id_prod' ] ); $R_Query = $MySQL->query( $Query ); if( mysql_num_rows( $R_Query ) > 0 ) { $MeuCarrinho->AdicionarItem( $dados[ $i ] [ 'id_prod' ], $dados[ $i ] [ 'quan' ] , $dados[ $i ] [ 'id_lista' ] ); } } } Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Julho 27, 2011 você está varrendo índices que não existem e a quantidade de posições do array (3) é inferior ao valor do maior índice (4) com o foreach você vai ter um resultado melhor, ele vai varrer todo array veja e adapte <?php $dados = Array( 0 => Array('id_prod' => 3,'quan' => 1,'id_lista' => 2), 2 => Array('id_prod' => 6,'quan' => 2,'id_lista' => 2), 4 => Array('id_prod' => 1,'quan' => 3,'id_lista' => 2)); foreach ($dados as $valor){ print "<br>".$valor['id_prod']."oi"; } ?> foreach() Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Julho 27, 2011 Ta certo, mas como eu faria com os indices desse array nessa parte? ... if( !empty( $dados[ $i ] [ 'id_prod' ] ) ) ... Compartilhar este post Link para o post Compartilhar em outros sites
Fernando Gyn 0 Denunciar post Postado Julho 27, 2011 ...Ta certo, mas como eu faria com os indices desse array nessa parte? ... if( !empty( $dados[ $i ] [ 'id_prod' ] ) ) ...... pode simplismente if( !empty( $valor['id_prod'] ) ) Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Julho 27, 2011 Ok. Deu certo. Muito Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Kakashi_Hatake 267 Denunciar post Postado Julho 27, 2011 Minha solução se entendi direito o que você quer. <?php $dados = array( 0 => array( 'id_prod' => 3, 'quan' => 1, 'id_lista' => 2), 2 => array( 'id_prod' => null, 'quan' => 2, 'id_lista' => 2), 4 => array( 'id_prod' => 1, 'quan' => 3, 'id_lista' => 2) ); array_walk( $dados, function( $values ) { if( ! empty( $values[ 'id_prod' ] ) ) { echo $values[ 'id_prod' ], '<br/>'; } else { echo 'Vazio <br/>'; } } ); /* Saída: 3 Vazio 1 */ ?> Compartilhar este post Link para o post Compartilhar em outros sites