doujiu9172 2012-12-05 01:09
浏览 199
已采纳

使用字符串作为数组名称和索引来获取数组值

I am trying to send specific indexes from arrays by string to some php code to describe the data that I need to combine. The problem I am having is that SESSION does not seem to be available within the function Str_To_Array. What am I missing about scope here? Also if anybody can recommend a better way I would be every so grateful. PS i added the include in case including the function causes any abnormalities.

function Str_To_Array($str) {

    $d = explode(':',$str) ;

    print_r($d[0]) ;

    $t = $d[0] ;

    $n = $$t ;

    if( !isset( $d[1] ) ) { return $n ; }

    $n = $n[$d[1]] ;

    return $n ;
}

include(DIR_ROOT . "php_function/Str_To_Array.php") ;

$test = '_SESSION' ;
$ARRANGE = Str_To_Array($test) ;<----this says _SESSION is undefined
print_r($ARRANGE) ;
$ARRANGE = $$test ;<----this works
print_r($ARRANGE) ;
  • 写回答

2条回答 默认 最新

  • donglanying3855 2012-12-05 01:36
    关注

    Hard to follow the purpose here, however this should work

    function getVar($str)
    {
        $vars = get_defined_vars();
        $d = explode(':',$str) ;
        if (isset($vars[$d[0]]) || array_key_exists($vars[$d[0]])) {
            if (!empty($d[1]) && (isset($vars[$d[0]][$d[1]]) || array_key_exists($vars[$d[0]][$d[1]]))
                return $vars[$d[0]][$d[1]];
            return $vars[$d[0]];
        }
        return null;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 请问为什么我配置IPsec后PC1 ping不通 PC2,抓包出来数据包也并没有被加密
  • ¥200 求博主教我搞定neo4j简易问答系统,有偿
  • ¥15 nginx的使用与作用
  • ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
  • ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了
  • ¥15 数学建模数学建模需要