在PHP中从数组创建字符串

时间:2018-01-25 22:02:45

标签: php arrays string

我正在尝试用几个数组值创建一个字符串,如下所示:

$input = array("1140", "1141", "1142", "1144", "1143", "1102");
$rand_keys = array_rand($input, 2);
$str = "$input[$rand_keys[0]], $input[$rand_keys[1]]";

但是,在第三行中,我收到此错误: 意外的'['期待']'

我认为通过将数组转换为值,我可以在我的字符串中使用它。我的语法错误是什么?

2 个答案:

答案 0 :(得分:3)

如果您只想修改代码,只需将一行调整到此行:

$str = $input[$rand_keys[0]] .', '. $input[$rand_keys[1]];

以下是其他一些更好的解决方案:

shuffle($input);
$str = $input[0] .', '. $input[1];

或者:

shuffle($input);
$str = implode(', ',array_slice($input,0,2));

答案 1 :(得分:1)

如果要扩展字符串中的简单变量,则需要使用复杂(卷曲语法)。 Link to manual。您需要在手册中向下滚动一点。您的最后一行代码如下所示:

$str = "{$input[$rand_keys[0]]}, {$input[$rand_keys[1]]}";

但你也可以使用implode来达到同样的效果。

$str = implode(', ', [$rand_keys[0], $rand_keys[1]]);

这取决于你。