首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >函数().function() VS function()function()

函数().function() VS function()function()
EN

Stack Overflow用户
提问于 2010-04-29 18:29:29
回答 2查看 302关注 0票数 1

我正在用PHP5编写一个foreach循环。下面是脚本:

代码语言:javascript
复制
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

我花了将近一个小时的时间来决定我应该在两个函数之间添加一个点,如下所示:

代码语言:javascript
复制
echo strtoupper($char).strtolower($char);

所以我分不出这两行代码的区别:

代码语言:javascript
复制
echo strtoupper($char).strtolower($char);
echo strtoupper($char)strtolower($char);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-29 18:36:07

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

例如:

代码语言:javascript
复制
'Hello ' . 'world!'

提供:

代码语言:javascript
复制
'Hello world!'

将两个函数相邻而不使用任何运算符是错误的。

票数 13
EN

Stack Overflow用户

发布于 2010-04-29 18:41:50

PHP的语法要求echo的参数是一个expression或一组用逗号分隔的expressions

现在,strtoupper($char)本身就是一个完整的表达式。在这个表达式之后,PHP期望看到一个表达式分隔符,它可以是commadot,甚至是semi-colon,但是当它发现一个string (strtolower)时,它就会报错。

所以

代码语言:javascript
复制
strtoupper($char)strtolower($char);

不是有效的表达式,但如下所示:

代码语言:javascript
复制
strtoupper($char),strtolower($char);
strtoupper($char).strtolower($char);
strtoupper($char);strtolower($char);

但在您的例子中,最后一个并没有达到这个目的,因为它只打印26个大写字母,而不打印小写字母。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2736554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档