Iné nekompaktibilnosti
- PHP 3.0 Apache modul už nepodporuje verzie Apache staršie než 1.2. Vyžaduje sa Apache 1.2 alebo novší.
- echo() už nepodporuje formát reťazca. Namiesto toho používajte funkciu printf().
- V PHP/FI 2.0, implementácia vedľajších účinkov spôsobila, že $foo[0] má rovnaký efekt ako $foo. Pre PHP 3.0 to neplatí.
- Čítanie polí s $array[] už nie je podporované. To znamená, že nemôžete prekročiť pole slučkou, ktorá robí $data = $array[]. Namiesto toho používajte current() a next(). Taktiež, $array1[] = $array2 nepripisuje hodnoty $array2 do $array1, ale pripisuje $array2 ako poslednú položku v $array1. Pozrite si podporu multidimezovaných polí.
- "+" sa už nevyužíva ako zlučovací operátor pre raťazce, namiesto toho konvertuje jeho argumenty na čísla a vykonáva numerické sčítanie. Namiesto toho používajte ".".
Example#1 Migrácia z 2.0: Zlučovanie reťazcov
echo "1" + "1";
V PHP 2.0 by toto vypísalo 11, v PHP 3.0 by toto vypísalo 2. Miesto toho používajte:
echo "1"."1";
$a = 1;
$b = 1;
echo $a + $b;
Toto by vypísalo 2 v PHP 2.0 aj v 3.0.
$a = 1;
$b = 1;
echo $a.$b;