首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试在php中连接一个字符串,但它认为它是一个数组

尝试在php中连接一个字符串,但它认为它是一个数组
EN

Stack Overflow用户
提问于 2014-11-28 07:24:20
回答 2查看 48关注 0票数 0

这种情况很奇怪,我甚至不知道该怎么叫它(因此找不到任何以前的帖子)。

我传入了一个字符串作为函数的变量,然后尝试将其连接成另一个字符串:

代码语言:javascript
复制
function saveFunction($number){

$myStr = "drawer-$number[]";
return $myStr;

}

所以输出应该是:

代码语言:javascript
复制
saveFunction("2")
"drawer-2[]"

但是,因为它认为我使用括号将$number作为数组访问,所以输出是:

代码语言:javascript
复制
"0"

我甚至试过这个:

代码语言:javascript
复制
function saveFunction($number){

$myStr = "drawer-$number";
return $myStr + "[]";

}

得到了同样的结果。

有什么建议吗?

EN

回答 2

Stack Overflow用户

发布于 2014-11-28 07:29:18

PHP中的双引号是很棘手的。他们解释字符串。这就是为什么"drawing-$number"首先要工作的原因。

有时你的字符串不适合自动解释。您可以使用always safe连接:

代码语言:javascript
复制
return "drawer-" . $number . "[]";

或者使用{}来帮助自动检测:

代码语言:javascript
复制
return "drawer-{$number}[]"; // as opposed to: "drawer-{$number[]}"

或者使用sprintf

代码语言:javascript
复制
return sprintf("drawer-%s[]", $number); // %s because $number is actually a string, not an int
票数 3
EN

Stack Overflow用户

发布于 2014-11-28 07:29:23

您可以将变量与字符串连接起来,如下所示:

代码语言:javascript
复制
<?php

    function saveFunction($number){
        return $myStr = "drawer-" . $number . "[]";
    }


    echo saveFunction("2");

?>

输出:

代码语言:javascript
复制
drawer-2[]    

有关更多信息,另请参阅:http://php.net/manual/en/language.operators.string.php

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

https://stackoverflow.com/questions/27179938

复制
相关文章

相似问题

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