dochipis 6 Denunciar post Postado Fevereiro 21, 2014 Olá gente, seguinte; no array abaixo tem um item como principal == 1, este item deverá ser o primeiro a ser imprimido na tela, depois os demais. Array ( [0] => Array ( [titulo] => Trend: casaco amarrado na cintura [foto] => 1.jpg [ativo] => 1 [principal] => 0 ) [1] => Array ( [titulo] => Katy Perry no ELLE Style Awards [foto] => 2.png [ativo] => 1 [principal] => 1 ) [2] => Array ( [titulo] => Playlist Valentine’s Day [foto] => 3.jpg [ativo] => 1 [principal] => 0 ) [3] => Array ( [titulo] => Barroco Tropical: a nova coleção da Make B. [foto] => 4.jpg [ativo] => 1 [principal] => 0 ) [4] => Array ( [titulo] => Frio [foto] => 5.jpg [ativo] => 1 [principal] => 0 ) ) Estou fazendo o loop com foreach: foreach ($novidades as $novidade) { if( $novidade['principal'] == 1){ echo('principal); } else { echo('outras'); } } Compartilhar este post Link para o post Compartilhar em outros sites
Cesar Augusto Graeff 53 Denunciar post Postado Fevereiro 22, 2014 Tenta Assim: foreach ($novidades as $novidade) { if($novidade['principal'] == 1){ echo('principal'); } } foreach ($novidades as $novidade) { if($novidade['principal'] != 1){ echo('outras'); } } Compartilhar este post Link para o post Compartilhar em outros sites
dochipis 6 Denunciar post Postado Fevereiro 24, 2014 Será que existe uma maneira de fazer sem repetir o foreach? Compartilhar este post Link para o post Compartilhar em outros sites
raonibs 64 Denunciar post Postado Fevereiro 24, 2014 $depois = array(); foreach ($novidades as $novidade) { if( $novidade['principal'] == '1'){ $antes = $novidade; } else { $depois[] = $novidade; } } print_r($antes); echo '<br />'; print_r($depois); Compartilhar este post Link para o post Compartilhar em outros sites
Dellacurtais 36 Denunciar post Postado Fevereiro 24, 2014 Será que existe uma maneira de fazer sem repetir o foreach? claro, so usar if else no foreach... define uma variável principal e outra secundaria, na principal vc vai definindo o HTML das principais e na outra da secundaria, no final so dar echo em cada variável onde desejar... Compartilhar este post Link para o post Compartilhar em outros sites
hufersil 145 Denunciar post Postado Fevereiro 24, 2014 Você pode usar o array_multisort, mas de qualquer forma, vai ter que repetir. Mas, eu aproveitaria e colocaria em uma função/helper. Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Henrique da Costa 14 Denunciar post Postado Fevereiro 24, 2014 cara sua sintaxe está correta, só falta uma aspas $novidades = array( array( "titulo" => "Trend: casaco amarrado na cintura", "foto" => "1", "ativo" => 0, "principal" => 0 ), array( "titulo" => "Trend: casaco amarrado na cintura", "foto" => "1", "ativo" => 0, "principal" => 1 ) , array( "titulo" => "Katy Perry no ELLE Style Awards2", "foto" => "1", "ativo" => 0, "principal" => 0 ) ); foreach ($novidades as $novidade) { if ($novidade['principal'] == 1) { echo('principal'); // Aqui está faltando } else { echo('outras'); } } // Imprimiu outras principal outras Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Fevereiro 24, 2014 é conforme explicado no post #5... exemplo prático no #7.. off no php tem uma função array_column que poderia ajudar nisso, mas, para o caso específico, recomendo o simples uso do exemplo acima. Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Fevereiro 24, 2014 Isso vem de uma fonte de dados onde você possa ordenar pela coluna principal??? Compartilhar este post Link para o post Compartilhar em outros sites
raonibs 64 Denunciar post Postado Fevereiro 24, 2014 Os post #1 e #7 vão sempre imprimir o array em sequencia. Neles o if não cumpre sua função e te-lo não fara diferença na saída. Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Fevereiro 24, 2014 #10... sim, no #7 teria que guardar os resultados em variáveis e escrevê-las posteriormente Compartilhar este post Link para o post Compartilhar em outros sites
dochipis 6 Denunciar post Postado Fevereiro 25, 2014 Ok, galera. Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites