function()。function()VS function()函数()

时间:2010-04-29 10:29:29

标签: 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_STRING

我花了差不多一个小时才弄清楚我应该在这两个函数之间添加一个点:

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

所以我无法区分这两行代码:

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

2 个答案:

答案 0 :(得分:13)

'。'是一个连接运算符。它返回其左右参数的串联。

例如:

'Hello ' . 'world!'

给出:

'Hello world!'

在没有任何操作符的情况下彼此相邻的两个函数是错误的。

答案 1 :(得分:4)

PHP的语法要求echo的参数为expression或以逗号分隔的一组expressions

现在strtoupper($char)本身就是一个完整的表达。在此表达式之后,PHP期望看到一个表达式分隔符,它可以是commadot甚至是semi-colon,但是当它找到stringstrtolower)时它抱怨。

所以

strtoupper($char)strtolower($char);

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

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

但是在你的情况下,最后一个不服务于目的,因为它只打印26个大写字母而不打印小写字母。