可以用数组值更改PHP变量吗?

时间:2017-06-24 06:30:36

标签: php arrays variables

这里我有一个PHP数组。如何将array1值指定为变量名?我想通过数组中的名称调用变量。

$array1 = array("comp1", "comp2", "comp3");

例如: 当我使用foreach循环循环时,我希望变量名与数组中的值连接。

$var + comp1 >>> ($varcomp1)
$var + comp2 >>> ($varcomp2)

甚至

$varcomp + 1 >>> ($varcomp1)
$varcomp + 2 >>> ($varcomp2)

这可能听起来很愚蠢,但我不知道这是否可能。或者还有其他更好的方法来做到这一点,以便我可以调用具有不同值的变量吗?

对不起,如果这个帖子被问到,因为我不知道搜索这类问题的术语是什么。

3 个答案:

答案 0 :(得分:1)

如果我理解你,你似乎在寻找Variable Variables

$foo = 5;
$var = 'foo';
echo "{$var} => {$$var}";

会给你

foo => 5

答案 1 :(得分:1)

您可以使用变量变量

来完成此操作

https://secure.php.net/manual/en/language.variables.variable.php

答案 2 :(得分:0)

如果在字符串变量的第一个中添加$$,则可以定义新变量。

<?php

$array1 = array("comp1", "comp2", "comp3");

foreach($array1 as $value) {
    ${"var" . $value} = "test $value variable";
}

echo $varcomp1; // outpu: "test comp1 variable"
echo $varcomp2; // outpu: "test comp2 variable"
echo $varcomp3; // outpu: "test comp3 variable"
?>

使用字符串变量定义变量的示例:

$string = 'hello';
$$string = 'new variable'; //define $hello variable
echo $hello; //Output: "new variable"