Forum und email

Outras incompatibilidades

  • O módulo do Apache do PHP 3.0 não suporta versões do Apache anteriores ao 1.2. Apache 1.2 ou superior é necessário.
  • echo() não tem mais suporte a uma string de formato. Ao invés, use a função printf().
  • No PHP/FI 2.0, um efeito-colateral da implementação causava que $foo[0] tinha o mesmo efeito de $foo. Isso não é verdade para o PHP 3.0.
  • Ler arrays com $array[] não é mais suportado. Isso é, você não pode percorrer um array em um loop que faz $data = $array[]. Ao invés, use as funções current() e next(). Além disso, $array1[] = $array2 não acrescenta valores de $array2 ao $array1, mas acrescenta o $array2 como último registro do $array1. Veja também suporte à arrays multidimensionais.
  • "+" não é mais sobrecarregado como um operador de concatenação de strings, ao invés disso, ele converte seus argumentos para um número e realiza a adição numérica. Use "." ao invés.

Example#1 Migração do 2.0: concatenação de strings

echo "1" + "1";

No PHP 2.0 isso mostraria 11, no PHP 3.0 mostraria 2. Ao invés, use:

echo "1"."1";
$a = 1;
$b = 1;
echo $a + $b;

Isso mostraria 2 tanto no PHP 2.0 quanto no 3.0.

$a = 1;
$b = 1;
echo $a.$b;
Isso mostrará 11 no PHP 3.0.