There are plenty of examples of both on the web. The php manual says \"The include() statement [...]\", which seems contradictory - if it\'s a statement shouldn\'t it not ha
Both. In many areas of the PHP documentation, everything is referred to as a statement. Example (from control structures) - "A statement can be an assignment, a function call, a loop, a conditional statement or even a statement that does nothing (an empty statement)."
The difference between a statement and a functions is a matter of the semantics of the individual language. Thus, it's up the PHP maintainers to either explicitly define this, or let it remain ambiguous.
Single values within parens evaluate to the value itself, so the parens themselves are of no consequence.
include is a statement : Explain by following eg
// won't work, evaluated as include(('vars.php') == 'OK'), i.e. include('')
if (include('vars.php') == 'OK') {
echo 'OK';
}
// works
if ((include 'vars.php') == 'OK') {
echo 'OK';
}
Quoting from the manual (my emphasis)
Because include() is a special language construct, parentheses are not needed around its argument.
These are also called "special forms", and include such things as echo
and return
statements. Note that while none of these are functions, you can still speak of expressions and statements, the difference being the former have a value while the latter don't. Since include
, include_once
, require
and require_once
all return a value (TRUE
if the include was successful), they can be used in expressions. By this reasoning, "include statement" would be incorrect, though include
s are almost always used as statements.
for echo always use echo "test"
<?php
// this will give you error
echo ("test","test");
//that will work fine
echo "test","test";
?>
The parentheses are parameters for a function.
With include
you can use it either as a function or a statement in php.
Because include() is a special language construct, parentheses are not needed around its argument.
Documentation here: http://php.net/manual/en/function.include.php
With echo
same concept, quoting from the PHP manual here
echo is not actually a function (it is a language construct), so you are not required to use parentheses with it. echo (unlike some other language constructs) does not behave like a function, so it cannot always be used in the context of a function.