结合两个字符串 - 特殊情况

时间:2013-09-27 09:54:48

标签: php echo

我的所有文本都是用分开的语言文件定义的,这意味着我写的是:

示例1(工作):

echo TEXT_FOR_PRODUCT_TENNIS; 

根据您的TEXT_FOR_PRODUCT_TENNIS语言定义的文字显示在网站上(例如:“伟大的网球产品!”。

但是如果我尝试组合两个字符串以创建和回显TEXT_FOR_PRODUCT_TENNIS,则它无法正常工作。它不是从语言文件中提取文本,而是在我的网站上回应“TEXT_FOR_PRODUCT_TENNIS”:

示例2(不工作):

$first_part = TEXT_FOR_PRODUCT_;
$products_name = TENNIS;
echo $first_part.$products_name; 

为什么我不能像这样组合两个字符串,以便语言文件中定义的文本显示在我的第一个示例中?

2 个答案:

答案 0 :(得分:2)

这是你的解决方案: -

define('TEXT_FOR_PRODUCT_TENNIS','dfbvzdfb');
$first_part = 'TEXT_FOR_PRODUCT_';
$products_name = 'TENNIS';
echo constant($first_part.$products_name); 

你首先定义一个常量,然后用字符串值定义两个变量然后打印它,php如何区分这两个。

注意:不带“$”符号的常量调用。

答案 1 :(得分:0)

示例2不起作用,因为您已经定义了整个TEXT_FOR_PRODUCT_TENNIS

尝试为您的项目使用数组 喜欢:

$array = array('TEXT_FOR_PRODUCT_TENNIS' => "something" , ... and so on);

然后使用您的代码:

$first_part = 'TEXT_FOR_PRODUCT_';
$products_name = 'TENNIS';
echo $array[$first_part.$products_name];