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();