Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用变量名更改另一个变量名的名称_Php - Fatal编程技术网

Php 使用变量名更改另一个变量名的名称

Php 使用变量名更改另一个变量名的名称,php,Php,我通过一个表单发布了两个值: $lang = "fr" $about_xx = "hello, world! 我现在需要使用$lang变量的值将$about_xx的名称更改为$about_en。这可能吗 编辑:添加代码以获得额外的清晰度和帮助。本例中的变量$lang的值为fr。比较部分需要修改以支持我希望创建的这些新变量,而不是以_en结尾的变量 是的,有可能: ${"about_".$lang} = "hello, world!" 虽然,通常被认为是不好的做法,我的意思是,

我通过一个表单发布了两个值:

$lang       = "fr"
$about_xx   = "hello, world!
我现在需要使用$lang变量的值将$about_xx的名称更改为$about_en。这可能吗

编辑:添加代码以获得额外的清晰度和帮助。本例中的变量$lang的值为fr。比较部分需要修改以支持我希望创建的这些新变量,而不是以_en结尾的变量

是的,有可能:

${"about_".$lang} = "hello, world!"
虽然,通常被认为是不好的做法,我的意思是,看看它。您应该为此使用数组。即:

$about = Array();
$about[$lang] = "hello, world";
操作后编辑

按如下方式创建阵列:

$new_expo = Array();
$new_expo['url'][$lang]        = $_POST['expo_url_lang'];
$new_expo['venue'][$lang]      = $_POST['expo_venue_lang'];
以类似的方式调用键,即:

$update_lang_append .= "expo_venue_en = '" . $new_expo['venue']['en'] . "', ";

您不能更改变量名,但可以将变量用作。然而,这似乎是一个非常糟糕的设计。你想用它来完成什么?不要使用-它们通常是不必要的,最终会使代码更加复杂。使用适当的数据结构,如带键的数组。我的表单用于向数据库记录中添加关于文本的内容,并适合多种语言。数据库是用列名称about_en、about_de、about_fr等设置的。我需要使用一个表单,一个名为about_xx的输入和一个包含变量lang和一个add to database脚本的隐藏字段。我仍然不知道为什么它需要是一个变量名。使用数组!为清晰起见,添加了代码。因此,如果我发布了多个值:关于xx、地点xx、国家xx、地点xx,我如何使用该数组创建多个命名变量?@MatthewPeckham检查编辑。你应该可以自己从这里继续。/facepalm刚刚意识到,如果我用
$update_lang_append .= "expo_venue_en = '" . $new_expo['venue']['en'] . "', ";