Ir para conteúdo

Arquivado

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

gersonab

Comparar strings

Recommended Posts

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.