我正在尝试用几个数组值创建一个字符串,如下所示:
$input = array("1140", "1141", "1142", "1144", "1143", "1102");
$rand_keys = array_rand($input, 2);
$str = "$input[$rand_keys[0]], $input[$rand_keys[1]]";
但是,在第三行中,我收到此错误: 意外的'['期待']'
我认为通过将数组转换为值,我可以在我的字符串中使用它。我的语法错误是什么?
答案 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]]);
这取决于你。