$arr = array('username', 'userpwd')
$username = $arr[0];
$userpwd  = $arr[1];

解决方案 »

  1.   

    $my_array = array('username', 'userpwd');
    list($username, $userpwd) = $my_array;
    echo $username,PHP_EOL;
    echo $userpwd;
      

  2.   

    不能简单的用
    list($username, $userpwd) = array('username', 'userpwd');来解决。看到别人用
    for($k=2;$k<5;$k++)  
    {  
     if(!empty(${'pfile'.$k}))  
      echo ${'pfile'.$k};
    }但我就是弄不成功。
      

  3.   

    $my_array = array('username', 'userpwd');
    foreach($my_array as $v) $$v=$v;var_dump($username,$userpwd);
      

  4.   

    或者
    foreach($my_array as $v) $arr[$v]=$v;extract($arr, EXTR_OVERWRITE);
    var_dump($username,$userpwd);
      

  5.   

    你举得例子是可变变量$a = 'hello';
    $$a = 'world';
    echo "$a ${$a}";
    echo "$a $hello";比如这个例子。。如果用数组的话,可以一下输出$w=array('a','b','c');
    ${$w[0]}='hello';
    ${$w[1]}='world';
    echo $w[1];
    echo ${$w[1]};//与下面输出一样
    echo ${'b'};二位数组的话可以这样
    $w=array('a','b','c');
    ${$w[0]}=array('0a','0b','0c','0d');
    ${$w[1]}=array('1a','1b','1c','1d');
    echo $w[1];
    echo ${$w[1]}[1];//与下面输出一样
    echo ${'b'}[1];或者你参照一下php.net的教程
    class foo {
        var $bar = 'I am bar.';
        var $arr = array('I am A.', 'I am B.', 'I am C.');
        var $r   = 'I am r.';
    }$foo = new foo();
    $bar = 'bar';
    $baz = array('foo', 'bar', 'baz', 'quux');
    echo $foo->$bar . "\n";
    echo $foo->$baz[1] . "\n";$start = 'b';
    $end   = 'ar';
    echo $foo->{$start . $end} . "\n";$arr = 'arr';
    echo $foo->$arr[1] . "\n";
    echo $foo->{$arr}[1] . "\n";http://www.php.net/manual/zh/language.variables.variable.php