[Errata] Desenvolvimento PHP com Mysql

Na sessão 4.7 do livro, o código sugerido para uma função contém um erro. Abaixo o código como está no livro:

<?php
 function linha($semana) {
  $linha = "<tr>";
  for ($i = 0; $i <= 6; $i++) {
   if(array_key_exists($i,$semana){
    $linha .= "<td>{$semana[$i]}</td>";
   }else{
    $linha .= "<td></td>";
   }
  }
 $linha .= "<tr>";
 return $linha;
}
?>

Tenho duas observações:
1- na linha 06 do código acima (que é o que está no livro), a concatenação do array com as tags HTML foram feitas com {}. Isso obviamente não funciona e o código não roda. O correto seria:
$linha .= "<td>".$semana[$i]."</td>";

2- na linha 11 do código acima, o correto seria:
$linha .="</tr>;
já que essa linha de código serve para incluir uma tag de fechamento na string $linha.

Olá, @juliobarreto.

Obrigado pelo comentário.

Na verdade o uso de chaves para delimitar variáveis em strings PHP é válido e até indicado para deixar mais claro que ali tem uma variável, além de possibilitar o uso de arrays.

A segunda parte está correta, o certo é </tr> mesmo :slight_smile:

Abraços

Obrigado Evaldo.
Eu fiz a correção (pensando que estava errado) porque meu código não estava funcionando até que eu mudasse essas chaves.
Mas muito obrigado por me corrigir. Vou fazer os testes aqui para consolidar o conhecimento.

Sds