是否可以在变量中存储带变量的变量?

时间:2012-03-20 07:22:23

标签: php sql variables nested store

我在这里遇到一个有趣的问题。我有一段代码,我想将不同数组中的一些数据发送到我的数据库。问题是我有很多代码重复,所以我试图用它来创建一个函数。一个例子:

$i = "0";
$education = $user['education'][$i]['school']['name'];
while ($education != null){
  mysql_query("INSERT INTO educations VALUES(
    {$user['id']},
    '{$user['education'][$i]['school']['name']}'
  )");
  }
  $i++;
  $education = $user['education'][$i]['school']['name'];
}

我希望它能像这样工作:

$i = "0";
$item = $user['education'][$i]['school']['name'];
$table = 'educations'
$current = $item;
while ($current != 'EOL'){
  if ($current != null){
  mysql_query("INSERT INTO {$table} VALUES(
    {$user['id']},
    '{$item}'
  )");
  }
  $i++;
  $current = $item;
}

我要做的是将变量$user['education'][$i]['school']['name']保存在$item中,这样每当我将$item存储到另一个变量中时,它就会插入值再次$i。我不知道这是否可行,但这是一件值得思考的事情。

1 个答案:

答案 0 :(得分:0)

对于变量名称,你可以使用类似$ {'myvariable _'。$ i}的东西,它将输出$ myvariable_0,_1,... 对于数组,我认为它不起作用(你可以试试吗?),否则你应该使用这样的函数:

function getNthSchoolName($n) {
    global $user;
    return $user[''][$n]['schoool']['name'];
}