Chico Norris Posted April 10, 2012 Report Share Posted April 10, 2012 Bom Tarde!!! No Codigo abaixo eu estou tentando mostrar na tela o maior valorinformado e mostar o mes em qual tem o valor maior...<?php $temp [0] = $_POST['jan']; $temp [1] = $_POST['fev']; $temp [2] = $_POST['mar']; $temp [3] = $_POST['abr']; $temp [4] = $_POST['mai']; $temp [5] = $_POST['jun']; $temp [6] = $_POST['jul']; $temp [7] = $_POST['ago']; $temp [8] = $_POST['set']; $temp [9] = $_POST['out']; $temp [10] = $_POST['nov']; $temp [11] = $_POST['dez']; $mes [0] ='Janeiro'; $mes [1] = 'Fevereiro'; $mes [2] = 'Março'; $mes [3] = 'Abril'; $mes [4] = 'Maio'; $mes [5] = 'Junho'; $mes [6] = 'Julho'; $mes [7] = 'Agosto'; $mes [8] = 'Setembro'; $mes [9] = 'Outubro'; $mes [10] = 'Novembro'; $mes [11] = 'Dezembro'; $maior = max($temp); //$menor = min($temp); for ($i = 0; $i < 11; $i++) { if ($maior = $temp[$i]) { echo "Maior Temperatura foi: " . $maior . "<br>"; echo "No mes de : " . $mes[$i] . "<br>"; } else { $i++; } } //echo "Menor Temperatura foi: " . $menor . "<br>"; ?>So que ao invés dele me mostrar o maior e o mes, ele me retorna todos os meses como maiores valores:Retorno:Maior Temperatura foi: 1No mes de : JaneiroMaior Temperatura foi: 2No mes de : FevereiroMaior Temperatura foi: 3No mes de : MarçoMaior Temperatura foi: 4No mes de : AbrilMaior Temperatura foi: 5No mes de : MaioMaior Temperatura foi: 6No mes de : JunhoMaior Temperatura foi: 7No mes de : JulhoMaior Temperatura foi: 8No mes de : AgostoMaior Temperatura foi: 9No mes de : SetembroMaior Temperatura foi: 10No mes de : OutubroMaior Temperatura foi: 11No mes de : Novembro Quote Link to comment Share on other sites More sharing options...
0 Churc Posted April 10, 2012 Report Share Posted April 10, 2012 opaentão, vai mostrar todos porque você está dando loop... tenta assimtroque issofor ($i = 0; $i < 11; $i++) { if ($maior = $temp[$i]) { echo "Maior Temperatura foi: " . $maior . "<br>"; echo "No mes de : " . $mes[$i] . "<br>"; } else { $i++; } } por isso $arr_key = array_search($maior, $temp); echo "Maior Temperatura foi: " . $maior. "<br>"; echo "No mes de : " . $mes[$arr_key] . "<br>";testa ai rsrabrs Quote Link to comment Share on other sites More sharing options...
0 Chico Norris Posted April 10, 2012 Author Report Share Posted April 10, 2012 opaentão, vai mostrar todos porque você está dando loop... tenta assimtroque issofor ($i = 0; $i < 11; $i++) { if ($maior = $temp[$i]) { echo "Maior Temperatura foi: " . $maior . "<br>"; echo "No mes de : " . $mes[$i] . "<br>"; } else { $i++; } } por isso $arr_key = array_search($maior, $temp); echo "Maior Temperatura foi: " . $maior. "<br>"; echo "No mes de : " . $mes[$arr_key] . "<br>";testa ai rsrabrsPerfeito amigo !!!Obrigado pela ajuda !!! Quote Link to comment Share on other sites More sharing options...
0 Churc Posted April 10, 2012 Report Share Posted April 10, 2012 e outra coisa, não só o loop, você esta comparando errado...se usa == para se comparar 2 valores e não somente = como você comparou no seu loop if ($maior = $temp[$i])mas simplificando, da maneira que passei é pra funcionar...abrs Quote Link to comment Share on other sites More sharing options...
Question
Chico Norris
Bom Tarde!!! No Codigo abaixo eu estou tentando mostrar na tela o maior valor
informado e mostar o mes em qual tem o valor maior...
So que ao invés dele me mostrar o maior e o mes, ele me retorna todos os meses como maiores valores:
Retorno:
Maior Temperatura foi: 1
No mes de : Janeiro
Maior Temperatura foi: 2
No mes de : Fevereiro
Maior Temperatura foi: 3
No mes de : Março
Maior Temperatura foi: 4
No mes de : Abril
Maior Temperatura foi: 5
No mes de : Maio
Maior Temperatura foi: 6
No mes de : Junho
Maior Temperatura foi: 7
No mes de : Julho
Maior Temperatura foi: 8
No mes de : Agosto
Maior Temperatura foi: 9
No mes de : Setembro
Maior Temperatura foi: 10
No mes de : Outubro
Maior Temperatura foi: 11
No mes de : Novembro
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.