Учебник РНР
Назад Приложение C. Переход от PHP/FI 2 к PHP 3 Вперёд

Иная несовместимость

  • PHP 3.0 Apache-модуль больше не поддерживает версии Apache до 1.2. Необходим Apache 1.2 или более новый.

  • echo() больше не поддерживает строку формата. Вместо неё используйте функцию printf().

  • В PHP/FI 2.0 побочным эффектом было такое же действие $foo[0], как и $foo. В PHP 3.0 это не так.

  • Чтение массивов с $array[] больше не поддерживается.

    То есть вы не можете пройти по массиву с помощью цикла $data = $array[]. Вместо этого используйте current() и next().

    Также $array1[] = $array2 не присоединяет значения $array2 к $array1, а присоединяет $array2 как последнее вхождение $array1. См. также поддержку многомерных массивов.

  • "+" больше не перегружается как операция конкатенации строк, а конвертирует свои аргументы в числа и выполняет числовое сложение. Для конкатенации используйте".".

Пример C-11. Перенос из 2.0: конкатенация строк
 
echo "1" + "1";

В PHP 2.0 это выведет/echo 11, в PHP 3.0 выведет 2. Вместо этого используйте:
echo "1"."1";
$a = 1;
$b = 1;
echo $a + $b;

Это будет echo 2 как в PHP 2.0, так и в 3.0.
$a = 1;
$b = 1;
echo $a.$b;

Это echo 11 в PHP 3.0.


Назад Оглавление Вперёд
Возвращаемые функциями значения TRUE/FALSE ВверхОтладка PHP