what is the diference between php4 and php5

Answers were Sorted based on User's Feedback



what is the diference between php4 and php5..

Answer / umpathi

php4-zend engine are added
php5-oops concepts are added

Is This Answer Correct ?    3 Yes 1 No

what is the diference between php4 and php5..

Answer / dsfds

1. strrpos() and strripos() now use the entire string
as a needle.

2. Illegal use of string offsets causes E_ERROR
instead of E_WARNING. An example illegal use is: $str
= 'abc'; unset($str[0]);.
3. array_merge() was changed to accept only arrays. If
a non-array variable is passed, a E_WARNING will be thrown
for every such parameter. Be careful because your code may
start emitting E_WARNING out of the blue.
4. PATH_TRANSLATED server variable is no longer set
implicitly under Apache2 SAPI in contrast to the situation
in PHP 4, where it is set to the same value as the
SCRIPT_FILENAME server variable when it is not populated by
Apache. This change was made to comply with the CGI
specification. Please refer to bug #23610 for further
information, and see also the $_SERVER['PATH_TRANSLATED']
description in the manual. This issue also affects PHP
versions >= 4.3.2.
5. The T_ML_COMMENT constant is no longer defined by
the Tokenizer extension. If error_reporting is set to
E_ALL, PHP will generate a notice. Although the
T_ML_COMMENT was never used at all, it was defined in PHP
4. In both PHP 4 and PHP 5 // and /* */ are resolved as the
T_COMMENT constant. However the PHPDoc style comments /**
*/, which starting PHP 5 are parsed by PHP, are recognized
as T_DOC_COMMENT.
6. $_SERVER should be populated with argc and argv if
variables_order includes "S". If you have specifically
configured your system to not create $_SERVER, then of
course it shouldn't be there. The change was to always make
argc and argv available in the CLI version regardless of
the variables_order setting. As in, the CLI version will
now always populate the global $argc and $argv variables.
7. An object with no properties is no longer
considered "empty".
8. In some cases classes must be declared before use.
It only happens if some of the new features of PHP 5 (such
as interfaces) are used. Otherwise the behaviour is the
old.
9. get_class(), get_parent_class() and
get_class_methods() now return the name of the
classes/methods as they were declared (case-sensitive)
which may lead to problems in older scripts that rely on
the previous behaviour (the class/method name was always
returned lowercased). A possible solution is to search for
those functions in all your scripts and use strtolower().
10. This case sensitivity change also applies to the
magical predefined constants __CLASS__, __METHOD__, and
__FUNCTION__. The values are returned exactly as they're
declared (case-sensitive).
11. ip2long() now returns FALSE when an invalid IP
address is passed as argument to the function, and no
longer -1.
12. If there are functions defined in the included
file, they can be used in the main file independent if they
are before return() or after. If the file is included
twice, PHP 5 issues fatal error because functions were
already declared, while PHP 4 doesn't complain about it. It
is recommended to use include_once() instead of checking if
the file was already included and conditionally return
inside the included file.
13. include_once() and require_once() first normalize
the path of included file on Windows so that including
A.php and a.php include the file just once.

Is This Answer Correct ?    1 Yes 0 No

Post New Answer

More PHP Interview Questions

What is the use of htmlentities in php?

0 Answers  


What is the use of super-global arrays in php?

0 Answers  


What is namespaces in PHP?

0 Answers  


What is php session id?

0 Answers  


What is the exact Diff. between include_once() and require_once() in PHP?

12 Answers  






When do you use define() and when do you use const. What are the main differences between those two?

0 Answers  


Tell me how is it possible to parse a configuration file?

0 Answers  


Why sessions are used in php?

0 Answers  


How to delete an element from an array?

0 Answers  


What is php addslashes?

0 Answers  


Explain what does $_server means?

0 Answers  


what mode to use when creating dirs with mkdir?

1 Answers  


Categories