gersonab 1 Denunciar post Postado Setembro 13, 2011 Qual a melhor forma de se compara uma string ? tenho 5 valores , quero descartar o menor e somar os 4 maiores, para fazer uma média . Tipo: $valor1 = $row_notas['bim_bim1']; $valor2 = $vendas['bim_bim2']; $valor3 = $vendas['bim_bim3']; $valor4 = $vendas['bim_bim4']; $valor5 = $vendas['bim_bim5']; $bim1 = $valor1; $bim2 = $valor1 + $valor2; $bim3 = $valor1 + $valor2 + $valor3; $bim4 = $valor1 + $valor2 + $valor3 + $valor4; $media1 = $bim1; $media2 = $bim2 / 2; $media3 = $bim3 / 3; $media4 = $bim4 / 4; Desde ja agradeço. Compartilhar este post Link para o post Compartilhar em outros sites
goruks 0 Denunciar post Postado Setembro 13, 2011 1 - guarde os valores em um array 2 - ordene o array (funcoes uteis: sort(), array_reverse() ) 3 - some os 4 primeiros valores ou 4 ultimos dependendo de como você ordenou Compartilhar este post Link para o post Compartilhar em outros sites
gersonab 1 Denunciar post Postado Setembro 13, 2011 Quase perfeito .... esta assim : $valor1 = $row_notas['bim_bim1']; $valor2 = $row_notas['bim_bim2']; $valor3 = $row_notas['bim_bim3']; $valor4 = $row_notas['bim_bim4']; $valor5 = $row_notas['bim_bim5']; $bim1 = $valor1; $bim2 = $valor1 + $valor2; $bim3 = $valor1 + $valor2 + $valor3; $bim4 = $valor1 + $valor2 + $valor3 + $valor4; $bim5 = array($valor1,$valor2,$valor3,$valor4,$valor5); sort($bim5); // ordena em ordem crescente array_shift($bim5); // elimina o primeiro "menor" $med5 = array_sum($bim5); // soma os valores do array $media1 = $bim1; $media2 = $bim2 / 2; $media3 = $bim3 / 3; $media4 = $bim4 / 4; $media5 = $med5 / 4; Só que , se eu tenho 10 itens para mostrar em uma lista , me mostra só 4, preciso que me mostre os 10 com seus respectivos valores .... tipo : item --- valor 1 ---- valor 2 ---- valor 3 ---- valor 4 ---- valor 5 ----- media - 01 ----- 50 --------- 60 --------- 40 --------- 50 --------- 60 --------- 55 - 02 ----- 60 --------- 60 --------- 60 --------- 60 --------- 00 --------- 60 - 03 ----- 70 --------- 60 --------- 30 --------- 50 --------- 60 --------- 55 - 04 ----- 70 --------- 50 --------- 40 --------- 50 --------- 60 --------- 55 - 05 ----- 50 --------- 60 --------- 70 --------- 60 --------- 00 --------- 60 - 06 ----- 50 --------- 60 --------- 40 --------- 50 --------- 60 --------- 55 - 07 ----- 50 --------- 60 --------- 40 --------- 50 --------- 60 --------- 55 - 08 ----- 50 --------- 60 --------- 40 --------- 50 --------- 60 --------- 55 - 09 ----- 50 --------- 60 --------- 40 --------- 50 --------- 60 --------- 55 - 10 ----- 50 --------- 60 --------- 40 --------- 50 --------- 60 --------- 55 esta mostrando assim ... item --- valor 1 ---- valor 2 ---- valor 3 ---- valor 4 ---- valor 5 ----- media - 05 ----- 50 --------- 60 --------- 70 --------- 60 --------- 00 --------- 60 - 02 ----- 60 --------- 60 --------- 60 --------- 60 --------- 00 --------- 60 - 01 ----- 50 --------- 60 --------- 40 --------- 50 --------- 60 --------- 55 - 03 ----- 70 --------- 60 --------- 30 --------- 50 --------- 60 --------- 55 Isto é, tudo que é array , ele esta mostrando só os 4 melhores .... Compartilhar este post Link para o post Compartilhar em outros sites
gersonab 1 Denunciar post Postado Setembro 13, 2011 Pois é ... ta um pouco complicado aqui ... vou tentar ser mais claro ... Os valores vem do BD . A lista é criada através de um loop . O que eu preciso é que : 1) pegar o item 1 verificar os 5 indices (arrays ) , considerar os 4 maiores para se fazer uma média , depois ... 2) pegar o item 2 verificar os 5 indices (arrays ) , considerar os 4 maiores para se fazer uma média , depois ... 3) pegar o item 3 verificar os 5 indices (arrays ) , considerar os 4 maiores para se fazer uma média , depois ... 4) pegar o item 4 verificar os 5 indices (arrays ) , considerar os 4 maiores para se fazer uma média , depois ... 5) pegar o item 5 verificar os 5 indices (arrays ) , considerar os 4 maiores para se fazer uma média , depois ... .... 11) pegar o item 11 verificar os 5 indices (arrays ) , considerar os 4 maiores para se fazer uma média , depois ... Não tem quantidade exata de itens ... Agora, com certeza vou precisar criar esta função , começar por onde ? if ? case ? foreach ? Compartilhar este post Link para o post Compartilhar em outros sites