有这样一个需求:将下面这段代码: $params = Array ( [tab1] = Array ( [server] = Array ( [0] = 137 [1] =122 ) ) ); 生成如下数组: $params= Array( [tab1][server][0]=137, [tab1][server][1]=122 ); 注意了,是将多维数组中的下标进行整合成统一的索引
有这样一个需求:将下面这段代码:
$params =
Array
(
[tab1] => Array
(
[server] => Array
(
[0] => 137
[1] => 122
)
)
);
生成如下数组:
$params =
Array(
'[tab1][server][0]' = 137,
'[tab1][server][1]' = 122
);
注意了,是将多维数组中的下标进行整合成统一的索引。
自己写了个测试代码如下,看看大家有没有更好的建议和想法:
EaglePHP
源码与演示:源码出处 演示出处
基于PHP+MYSQL开发,除了网上书店必备的商品管理、配送支付管理、订单管理、会员分组、会员管理、查询统计和多项商品促销功能,还具有完整的文章、图文、下载、单页、广告发布等网站内容管理功能。系统具有静态HTML生成、UTF-8多语言支持、可视化模版引擎等技术特点,支持多频道调用不同模版和任意设置频道首页,适合建立各种规模的网上书店。系统具有以下主要功能模块: 网站参数设置 - 对网站的一些参数进
$params = array('tab1'=>
array('server1'=>array(137, 122),
'server2'=>array(100,200)
),
'tab2'=>
array('server3'=>array(400, 500),
'server4'=>array(600, 700),
'aaa'=>array('bbb'=>array(1,2,3))
),
'name' => 'dimain',
'abc' => array(4,5,6=>array('apple', 'lizi'))
);
function test(&$params, &$tmpKeyArr, &$data){
$i = 0;
foreach ($params as $k=>&$v){
$i++;
if(is_array($v)) {
$tmpKeyArr[] = '['.$k.']';
test($v, $tmpKeyArr, $data);
}else{
$data[implode($tmpKeyArr, '').'['.$k.']'] = $v;
}
if(count($params) == $i) array_pop($tmpKeyArr);
}
}
$tmpKeyArr = array();
$data = array();
test($params, $tmpKeyArr, $data);
echo '<pre class="brush:php;toolbar:false;">';
print_r($data);
print_r($params);
echo '';










