我正在用PHP5编写一个foreach循环。下面是脚本:
foreach(range('A','Z') as $char) // line 1
{ // line 2
echo strtoupper($char)strtolower($char); // line 3
} // line 4我在第3行得到了这个错误消息: Parse error,testing.php中的意外T_STRING
我花了将近一个小时的时间来决定我应该在两个函数之间添加一个点,如下所示:
echo strtoupper($char).strtolower($char);所以我分不出这两行代码的区别:
echo strtoupper($char).strtolower($char);
echo strtoupper($char)strtolower($char);发布于 2010-04-29 18:36:07
“.”是一个连接运算符。它返回其右参数和左参数的连接。
例如:
'Hello ' . 'world!'提供:
'Hello world!'将两个函数相邻而不使用任何运算符是错误的。
发布于 2010-04-29 18:41:50
PHP的语法要求echo的参数是一个expression或一组用逗号分隔的expressions。
现在,strtoupper($char)本身就是一个完整的表达式。在这个表达式之后,PHP期望看到一个表达式分隔符,它可以是comma,dot,甚至是semi-colon,但是当它发现一个string (strtolower)时,它就会报错。
所以
strtoupper($char)strtolower($char);不是有效的表达式,但如下所示:
strtoupper($char),strtolower($char);
strtoupper($char).strtolower($char);
strtoupper($char);strtolower($char);但在您的例子中,最后一个并没有达到这个目的,因为它只打印26个大写字母,而不打印小写字母。
https://stackoverflow.com/questions/2736554
复制相似问题