【问题标题】:PHP variable like $var['$var']PHP 变量,如 $var['$var']
【发布时间】:2011-08-08 19:20:11
【问题描述】:

我目前正在制作一个包含相册的网站。该网站有两种语言,英语和荷兰语。所以我制作了这样的语言文件:

$lang['hello'] = 'Hallo'; //Hallo is hello in dutch

对于相册,我尝试使用相同的原理,例如:

$lang['discription_001'] = 'photo of a house';

通过显示我制作了一个计数器的图像,现在我想在 dispription 中使用相同的计数器,如下所示:

echo $lang['discription_'$counter] 

而$counter 是001 是第一张照片。但是这不起作用,有人可以告诉我如何让它工作,或者任何其他方法来获得我想要的东西。

提前致谢,Thomas de Zeeuw

附:我是 PHP 新手,但是我通常会很快学会一些东西,所以请做一些解释。

【问题讨论】:

  • 回声 $lang['discription_' 。 $counter];

标签: php var


【解决方案1】:

你快到了:

echo $lang['discription_' . $counter]

. 是 PHP 的连接运算符,用于组合字符串。

【讨论】:

  • 我现在开始工作了,仍然不确定我之前做错了什么,但是非常感谢!
【解决方案2】:

您只是忘记了 string concatenation operator . 连接 'discription_' 和 $counter 的值:

$lang['discription_'.$counter]

【讨论】:

  • 我确实忘记了 . ,谢谢你。但是现在我得到:语法错误,意外的 T_VARIABLE,期望 ']' 作为错误。感谢您的快速响应
  • @Thomas de Zeeuw:那么这个错误的原因是别的地方。
【解决方案3】:

你有一个错字。

echo $lang['discription_'$counter]

应该是

echo $lang['discription_' . $counter];

【讨论】:

    【解决方案4】:

    你可以通过简单地修复你的代码来让它工作:

    echo $lang['discription_'.$counter];
    

    或

    echo $lang["discription_{$counter}"];
    

    【讨论】:

      【解决方案5】:

      $counter 是字符串吗?如果是这样,如果您修复了解析错误,您的示例应该可以正常工作(您错过了连接运算符 (.)。

      如果您向我们展示您的应用程序中的实际代码会更好。

      echo $lang['discription_' . $counter];

      【讨论】:

        【解决方案6】:

        由于您已经得到答案,您忘记了连接运算符,但我认为更好的方法是使用多维数组。

        echo $lang['descriptions'][$counter];
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-02-14
          • 1970-01-01
          • 1970-01-01
          • 2022-01-14
          • 2012-09-30
          • 2018-06-16
          • 1970-01-01
          相关资源
          最近更新 更多