在循环中动态命名PHP变量

时间:2012-12-04 05:02:21

标签: php loops foreach

在执行foreach循环时,我无法动态命名我的PHP变量。这是我的代码:

$count = count($_POST['member']);
for ($i = 0; $i < $count; $i++) {
    $fname = $_POST['member'][$i]['fname'];
    $lname = $_POST['member'][$i]['lname'];
}

如何将$i中包含的数字附加到$fname&amp; $lname$fname和{} $lname成为$fname1&amp; $lname_2等等?或者有更好的方法吗?我没有尝试过任何工作。

4 个答案:

答案 0 :(得分:1)

$i = 0;
$output = array();

foreach ($_POST['member'] as $member)
{
   $output['fname' . $i] = $member['fname'];   
   $output['lname' . $i] = $member['lname'];
   $i++;
}

extract($output);

Though..why?

答案 1 :(得分:0)

编辑:回答您的新问题 - 如何在会话中存储:

session_start();
$count = count($_POST['member']);
for ($i = 0; $i < $count; $i++) {
    $_SESSION["fname_{$i}"] = $_POST['member'][$i]['fname'];
    $_SESSION["lname_{$i}"] = $_POST['member'][$i]['lname'];
}

答案 2 :(得分:0)

试试这个

$count = count($_POST['member']);
for ($i = 0; $i < $count; $i++) {
 $fname.'_'.$i = $_POST['member'][$i]['fname'];
 $lname.'_'.$i = $_POST['member'][$i]['lname'];
}

所以你可以访问$ fname_1,$ fname_2等...

答案 3 :(得分:-1)

嗨尝试php的简单连接(“。”)运算符。所以你的代码将是

$count = count($_POST['member']);
for ($i = 0; $i < $count; $i++) {
    $fname = $_POST['member']['fname'.$i];
    $lname = $_POST['member']['lname_'.$i];
}