【问题标题】:PHP: variables in strings without concatenationPHP:字符串中的变量没有连接
【发布时间】:2011-10-25 14:25:56
【问题描述】:

如果我在这个字符串中有一个变量 $var: echo "Hello, there are many $vars";

Php 查找 variable $vars 而不是 $var

没有像这样的连接:"Hello, there are many $var" . "s";
还有其他方法可以做到这一点,比如某种转义字符?

【问题讨论】:

    标签: php string


    【解决方案1】:

    您可以使用{} 正确转义您的变量。考虑以下示例:

    echo "There are many ${var}s"; #Or...
    echo "There are many {$var}s";
    

    Working example

    【讨论】:

      【解决方案2】:

      在php中你可以像这样转义变量

      echo "Hello, ${var}'s head is big";
      

      或者喜欢

      echo "Hello, {$var}'s head is big";
      

      在转义字符部分引用here

      【讨论】:

      • 有趣的是,我也知道这一点,但是当我在 php 文档中搜索参考时,我找不到任何东西。我可能搜索错了,有人有吗?
      • 然后我当然会找到它 - 可能对参考有用:pa2.php.net/manual/en/…
      • @Joubarc 在这里相同,我在文档中的任何地方都找不到它。这就是我在这里问的原因
      【解决方案3】:

      或者您可能想查看 sprintf:http://php.net/manual/en/function.sprintf.php

      sprintf 函数允许您将任何类型的变量格式化为特定符号的字符串。

      【讨论】:

        【解决方案4】:

        就我个人而言,我总是从这样的字符串中划分变量:echo 'Hello, there are many '.$var.'s';

        主要是因为可读性,如果您仔细阅读代码,就会立即清楚变量的位置。

        【讨论】:

        • 如果在 1 个字符串中有 3 组转义引号和 5 个变量,比听起来更难
        • 可读性是我更喜欢其他解决方案的确切原因
        • 这实际上取决于您的 IDE/编辑器。我的编辑器为我突出显示了这些变量,所以我总是有可读的代码。此外,使用{} 调用这些变量将产生接缝可读性效果。
        • 也许我应该看看不同的编辑器,因为如果它出现在我的编辑器中,我更喜欢用括号来做。
        • 它对我有用,并且没有使用任何插件。请参阅picasaweb.google.com/lh/photo/… 确保您使用的是双引号,单引号不计算变量。
        猜你喜欢
        • 1970-01-01
        • 2022-01-10
        • 2014-07-20
        • 1970-01-01
        • 1970-01-01
        • 2011-01-10
        • 2011-08-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多