Jump to content
Fórum Script Brasil

Question

Ola, sou iniciante em PHP e estou com dificuldade para usar array em função anonima.

tenho seguinte código:

 

<?php

  $med = function($n1,$n2,$n3,$n4){
      $result = ($n1+$n2+$n3+$n4)/4;
      return $result;
    }
      $aluno[0]["nome"] = "Brian Johnson";
      $aluno[0]["media"] = $med(3,6,6,8);

      $aluno[1]["nome"] = "Lenny Kravitz";
      $aluno[1]["media"] = $med(1,4,2,5);

      $aluno[2]["nome"] = "Bruce Dickinson";
      $aluno[2]["media"] = $med(4,5,4,4);

      $aluno[3]["nome"] = "James Hetfield";
      $aluno[3]["media"] = $med(7,4,7,7);

      $aluno[4]["nome"] = "Angus Young";
      $aluno[4]["media"] = $med(7,6,6,8);

    for($i = 0, $n = count($aluno); $i < $n; $i++){
      echo "<b>Nome do aluno: </b>" . $aluno[$i]["nome"] . "</b><br>";
      echo "<b>Media do aluno: </b>" . $aluno[$i]["media"] . "</b><br><br>";
      }
    
?>

 

 

Tenho array contendo notas e nomes dos alunos. Porém quando executo desta maneira ele da o seguinte erro " Parse error: syntax error, unexpected '$aluno' (T_VARIABLE) in C:\wamp64\www\PHP\exec_time.php on line 7 ".

Quando eu não uso função anonima (function med($n1,$n2,$n3,$n4)) ele roda sem erros, mas quando tento usar função anonima ele apresenta este erro na variavel $aluno.

Pesquisei muito mas não consegui resolver este problema. Alguém poderia me auxiliar?

 

Desde já agradeço!

Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0

Olá, aparentemente você esqueceu um ponto e vírgula depois da função anônima.

Observe o código abaixo.

<?php

  $med = function($n1,$n2,$n3,$n4){
      $result = ($n1+$n2+$n3+$n4)/4;
      return $result;
    };
      $aluno[0]["nome"] = "Brian Johnson";
      $aluno[0]["media"] = $med(3,6,6,8);

      $aluno[1]["nome"] = "Lenny Kravitz";
      $aluno[1]["media"] = $med(1,4,2,5);

      $aluno[2]["nome"] = "Bruce Dickinson";
      $aluno[2]["media"] = $med(4,5,4,4);

      $aluno[3]["nome"] = "James Hetfield";
      $aluno[3]["media"] = $med(7,4,7,7);

      $aluno[4]["nome"] = "Angus Young";
      $aluno[4]["media"] = $med(7,6,6,8);

    for($i = 0, $n = count($aluno); $i < $n; $i++){
      echo "<b>Nome do aluno: </b>" . $aluno[$i]["nome"] . "</b><br>";
      echo "<b>Media do aluno: </b>" . $aluno[$i]["media"] . "</b><br><br>";
      }

 

Link to post
Share on other sites
  • 0

testei o seguinte  código

<?php

$med = function($n1,$n2,$n3,$n4){
      $result = ($n1+$n2+$n3+$n4)/4;
      return $result;
};

$aluno[0]["nome"] = "Brian Johnson";
$aluno[0]["media"] = $med(3,6,6,8);

$aluno[1]["nome"] = "Lenny Kravitz";
$aluno[1]["media"] = $med(1,4,2,5);

$aluno[2]["nome"] = "Bruce Dickinson";
$aluno[2]["media"] = $med(4,5,4,4);

$aluno[3]["nome"] = "James Hetfield";
$aluno[3]["media"] = $med(7,4,7,7);

$aluno[4]["nome"] = "Angus Young";
$aluno[4]["media"] = $med(7,6,6,8);

for($i = 0, $n = count($aluno); $i < $n; $i++){
      echo "<b>Nome do aluno: </b>" . $aluno[$i]["nome"] . "</b><br>";
      echo "<b>Media do aluno: </b>" . $aluno[$i]["media"] . "</b><br><br>";
}

funcionou perfeitamente.

teste.jpg

Link to post
Share on other sites
  • 0

Olá rickayron. Agradeço sua resposta.

Sua resposta ao meu post estava correta. Eu respondi dizendo que não tinha funcionado porque eu tinha colocado o ponto e virgula na chave errada, por isso o meu não funcionava.

Demorei a dar meu feedback porque estava na correria e não consegui entrar no fórum para dizer que era eu que estava colocando ponto e virgula na chave errada.

Agradeço sua atenção!

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148886
    • Total Posts
      644905
×
×
  • Create New...