While PHP 4.0 comes with a lot of new features, functions and extensions, you may still find some functions from version 3.0 missing. A small number of core functions has vanished because they do not work with the new scheme of splitting parsing and execution as introduced into 4.0 with the Zend engine. Other functions and even complete extensions have become obsolete as newer functions and extensions serve the same task better and/or in a more general way. Some functions just simply haven't been ported yet and finally some functions or extensions may be missing due to license conflicts.
As PHP 4.0 now seperates parsing from execution it is no longer possible to change the behavior of the parser (now embedded in the Zend engine) at runtime as parsing already happend by then. So the function short_tags() has ceased to exist. You can still change the parsers behavior by setting appropriate values in the php.ini file.
Another feature from PHP 3.0 that didn't make it into 4.0 is the experimental debugging interface as described in ??? in this manual. A seperate TRUE debuger is promissed to be released as a Zend product but hasn't become visible yet.
The Adabas and Solid database extensions are no more. Long live the unified ODBC extension instead.
unset(), although still available, is implemented a literal different in PHP 4.0 so that it no longer counts as a 'real' function.
This has no direct consequences as the behavior of unset() didn't change, but testing for "unset" usign function_exists() will return FALSE as it would with othern lowlevel functions like echo().
Another more practical change is that it is no longer possible to call unset() indirectly, that is $func="unset"; $func($somevar) won't work anymore.