我们有$id
和$title
个变量,每次都会更改。
对于每个$id
,我们应该创建一个新变量$temp_title_%id%
,并为其赋予$title
的值。
像:
$id = 10;
$title = 'Hello people!';
$temp_title_10 = 'Hello people!';
试过这个(不起作用):
$temp_title_ . $id = $title;
感谢。
答案 0 :(得分:6)
如何使用数组呢?数组是存储多个值的更好方法。很多, 很多 更好。
$title_array = array();
$id = 10;
$title = 'Hello people!';
$title_array[$id] = $title;
答案 1 :(得分:2)
如果您尝试保留变量,如果$id
变量始终为整数,则将它们放在数组中可能会更好。
$persistence_array = array();
while (some_requirement) {
$id = ...;
$title = ...;
$persistence_array[$id] = $title;
}
如果$id
也可能包含字母数字数据,那么您可以始终以相同的方式使用哈希/字典(使用少量额外逻辑甚至可以为同一个ID存储多个值)。
请勿这样做:如果您绝对必须有变量,那么您可以使用variable variables但请不要。
答案 2 :(得分:1)
我认为做你想做的事情是个坏主意,但无论如何都要做到这一点:
$GLOBALS["temp_title_".$id]=$title;
或者,你可以这样做:
$varname="temp_title_".$id;
$$varname=$title;
做我认为你要做的事情最正确的方法是使用数组:
// Somewhere in the PHP script:
$an_array=array();
// To assign:
$an_array[$id]=$title;
// To retrieve:
echo $an_array[$id];
答案 3 :(得分:1)
使用此:
$metavariable = "temp_title_".$id;
$$metavariable = $title; // note the $$
答案 4 :(得分:1)
${'temp_title_' . $id} = $title;
echo $temp_title_10;
答案 5 :(得分:1)
使用PHP的变量变量 http://php.net/manual/en/language.variables.variable.php
$variable = $title.'_'.$id
$$variable = 'hello, world!'