将两个变量合并为一个

时间:2014-07-29 17:21:43

标签: php variables

我尝试将两个变量合并或组合成一个新变量。

我的代码片段如下所示:

<?php
  $text_headline = "dat headline";

  for ($i = 1; $i <= $text_text; $i++) {

    echo '$text_headline.$i';
  }
?>

但当然这不起作用。

我也试过

$text_headline_combo = {$text_headline.$i};

但不起作用。它向我发送了一条错误消息。

  

解析错误:语法错误,/...

中的意外“{”

有人为我提供其他解决方案吗?非常感谢提前!

6 个答案:

答案 0 :(得分:4)

字符串插值仅在双引号中识别。

尝试

echo "$text_headline.$i";

答案 1 :(得分:2)

如果我正确理解您的评论,您会有一系列标题,例如

$text_headline1 = 'Some headline';
$text_headline2 = 'Another headline';

您想在循环中输出它们。您可以使用双$

<?php
  $text_headline1 = 'Some headline';
  $text_headline2 = 'Another headline';

  for ($i = 1; $i <= $text_text; $i++) {

    $headlineVar = 'text_headline' . $i;
    echo $$headlineVar;
  }
?>

这称为Variable variables

答案 2 :(得分:1)

试试这个:

$text_headline .= $i;

.=被称为连接赋值运算符,它将右侧的参数附加到左侧的参数。

详细了解herehere

答案 3 :(得分:1)

我认为这就是你所需要的:

<?php
  $text_headline = "dat headline";

  for ($i = 1; $i <= $text_text; $i++) {
     $text_headline .= $i;
  }

?>

答案 4 :(得分:0)

用双引号替换echo线上的单引号。 双引号解析变量,单引号不。

答案 5 :(得分:0)

正如Austin所说,你需要使用双引号进行字符串插值,例如 "$text_1.$text_2"。我个人喜欢将我的字符串分开"string 1" . "string 2",以便代码更易于阅读。

使用.=运算符也很有用。恩。 $text_1 .= $text_to_add;