Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 配置阵列DynamicCaly时出现的问题_Php_Associative Array - Fatal编程技术网

Php 配置阵列DynamicCaly时出现的问题

Php 配置阵列DynamicCaly时出现的问题,php,associative-array,Php,Associative Array,我有一个剧本,但在此之前我想向你解释一些事情 我正在调用一个函数 $data['cat'] = $this->autoload_model->getTree(0,'td_category'); $data['cat'] = $this->autoload_model->getTree(0,'td_division'); 在下面的函数中 $table = td_category $table = td_division

我有一个剧本,但在此之前我想向你解释一些事情

我正在调用一个函数

$data['cat'] = $this->autoload_model->getTree(0,'td_category');
$data['cat'] = $this->autoload_model->getTree(0,'td_division');
在下面的函数中

$table = td_category
                         $table = td_division


public function getTree($pid,$table)
    {
        $table_data=explode("_",$table);
        //$table_data[1] will read category for td_category, division for td_division;
        global $sp;
        static $arr = array(
               'category_id' => array(),
               'category_title' => array()
            );
    }
现在如果我替换这两行

'category_id' => array(),
    'category_title' => array()

由于数组的静态特性,我得到了一个错误, 但是如果我删除static关键字,那么它不会显示任何错误


如何在发送的$table上保持静态keywod并动态获取关联字段

${$table_data[1]."_title"} => array();

我不是很确定,但你可以试试下面的

static $arr = array();

$arr[$table_data[1].'_id'] = array();
$arr[$table_data[1].'_title'] = array();

不,他不需要变量变量。他想动态命名子数组的索引。这应该是正确的方法。您的数组要么是静态的,要么不是。您的不是,因此在初始化过程中不要使用
静态
或动态键。
static $arr = array();

$arr[$table_data[1].'_id'] = array();
$arr[$table_data[1].'_title'] = array();