判断二维数组的key值,只能出现一次

keite 2010-07-26 02:01:10
$a= Array
(
'0' => Array
(
'0' => Array
(
'pname1' => '市场营销'
),

'1' => Array
(
'pname' => '营销传播'
),

'2' => Array
(
'pname' => '营销战略'
)

),

'1' => Array
(
'0' => Array
(
'pname1' => '市场营销'
),

'1' => Array
(
'pname' => '营销传播'
),
),
'2' => Array
(
'0' => Array
(
'pname1' => '品牌管理'
),

'1' => Array
(
'pname' => '品牌战略'
),

'2' => Array
(
'pname1' => '企业文化'
),

'3' => Array
(
'pname' => '企业文化建设'
)
)
);

如:$a下面的一维数组出现了,两个pname1和时候
数组应该遍历成:
$b= Array
(
'0' => Array
(
'0' => Array
(
'pname1' => '市场营销'
),

'1' => Array
(
'pname' => '营销传播'
),

'2' => Array
(
'pname' => '营销战略'
)

),

'1' => Array
(
'0' => Array
(
'pname1' => '市场营销'
),

'1' => Array
(
'pname' => '营销传播'
),
),
'2' => Array
(
'0' => Array
(
'pname1' => '品牌管理'
),

'1' => Array
(
'pname' => '品牌战略'
),

),
'3' => Array
(
'0' => Array
(
'pname1' => '企业文化'
),

'1' => Array
(
'pname' => '企业文化建设'
)

);
求大侠告知该怎么写
...全文
107 点赞 收藏 2
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
gumwzg 2010-07-26
学习了
回复
xuzuning 2010-07-26
这样写
$r = array();
foreach($a as $p) {
$t = array();
foreach($p as $v) {
if(key($v) == 'pname1') {
if(count($t) > 0) {
$r[] = $t;
$t = array();
}
}
$t[] = $v;
}
$r[] = $t;
}
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告