2

如果$GLOBALS['filefolder'] = 13.pressrum 怎么来

$filefolder = '/'+$GLOBALS['filefolder'];
echo $filefolder

输出 13

什么时候

$filefolder = $GLOBALS['filefolder'];
echo $filfolder

输出 13.pressrum

4

4 回答 4

7

The operator + is numeric / mathematical in PHP. So '/'+$GLOBALS['filefolder']; is equal to 0+13 in your case (php casts both to integer) which actually is 13.

To concatenate use .

$filefolder = '/' . $GLOBALS['filefolder'];
echo $filefolder
于 2013-11-04T14:46:28.650 回答
4

A+将两个数字相加,如 1+1。因此,如果您使用它来连接两个字符串,它们会在内部转换为整数,因此结果为 13。点 ( .) 连接两个字符串。所以你必须写$filefolder = '/'.$GLOBALS['filefolder'];

您可能会将它与 JavaScript 混淆,其中 + 用于连接字符串(也用于添加数字,但这是另一个主题......)。

于 2013-11-04T14:46:48.407 回答
2

php 中的 + 运算符是求和。如果将 '/' + "13.pressrum" 相加,则两者都将被转换为整数。

你应该使用 . 连接字符串。

于 2013-11-04T14:46:56.923 回答
2

+是一个数学运算符,因此 PHP 尝试在其中查找数字,/它只13.pressrum找到 13,因此您得到 的结果0 + 13,即13.

我猜你想要做的是连接字符串,试试这个:

$filefolder = '/'.$GLOBALS['filefolder'];
echo $filefolder

它应该输出/13.pressrum.

于 2013-11-04T14:47:23.243 回答