Php function().function()与function()函数()

Php function().function()与function()函数(),php,Php,我在用PHP5编写foreach循环。 以下是脚本: foreach(range('A','Z') as $char) // line 1 { // line 2 echo strtoupper($char)strtolower($char); // line 3 } // line 4 我收到了这个错误信息 解析错误:解析错误,第3行testing.php中出现意外的T_字符串 我花了将近一个小时想在两个函数之间加一个点,如下所示: echo strtoupper($char).strtol

我在用PHP5编写foreach循环。 以下是脚本:

foreach(range('A','Z') as $char) // line 1
{ // line 2
echo strtoupper($char)strtolower($char); // line 3
} // line 4
我收到了这个错误信息 解析错误:解析错误,第3行testing.php中出现意外的T_字符串

我花了将近一个小时想在两个函数之间加一个点,如下所示:

echo strtoupper($char).strtolower($char);
所以我无法区分这两行代码之间的区别:

echo strtoupper($char).strtolower($char);
echo strtoupper($char)strtolower($char);

“.”是一个串联运算符。它返回其右参数和左参数的串联

例如:

'Hello ' . 'world!'
给出:

'Hello world!'

两个函数相邻而没有任何运算符是错误的。

The..”是串联运算符。它返回其右参数和左参数的串联

例如:

'Hello ' . 'world!'
给出:

'Hello world!'

两个函数相邻而没有任何运算符是错误的。

PHP
的语法要求
echo
的参数是一个
表达式或一组用逗号分隔的
表达式

现在,strtoupper($char)
本身就是一个完整的表达式。在这个表达式之后,PHP希望看到一个表达式分隔符,它可以是
逗号
,甚至是
分号
,但当它发现一个
字符串时(
strtolower
),它会抱怨

所以

不是有效的表达式,但它们是:

strtoupper($char),strtolower($char);
strtoupper($char).strtolower($char);
strtoupper($char);strtolower($char);

但是在你的例子中,最后一个并不能满足这个目的,因为它只打印26个大写字母,而不打印小写字母。

PHP
的语法要求
echo
的参数是一个
表达式或一组用逗号分隔的
表达式

现在,strtoupper($char)
本身就是一个完整的表达式。在这个表达式之后,PHP希望看到一个表达式分隔符,它可以是
逗号
,甚至是
分号
,但当它发现一个
字符串时(
strtolower
),它会抱怨

所以

不是有效的表达式,但它们是:

strtoupper($char),strtolower($char);
strtoupper($char).strtolower($char);
strtoupper($char);strtolower($char);
但在您的情况下,最后一个字母并不符合此目的,因为它只打印26个大写字母,而不打印小写字母