סוגי ביטויים
PHP/FI 2.0 השתמש בצד השמאלי של הביטויים לקבוע מה סוג התוצאה צריכה להיות. PHP 3.0 לוקח בחשבון את שני הצדדים כאשר הוא קובע את סוגי התוצאה, וזה יכול לגרום לסקריפטים של 2.0 להתנהג באופן בלתי צפוי ב- 3.0.
התייחס לדוגמא הבאה:
<div dir="ltr">
$a[0]=5;
$a[1]=7;
$key = key($a);
while ("" != $key) {
echo "$keyn";
next($a);
}
</div>
התיקון לזה פשוט. החלף את משפט ה- While בזה:
<div dir="ltr">
while ((string)$key != "") {
</div>