请帮忙转换一个数组

hellok168 2010-07-28 11:21:49
print_r($_POST["group"]);输出结果如下:
Array ( [9] => Array ( [17] => 17 [18] => 18 ) [10] => Array ( [19] => 19 ) )
我现在要转换成17,18,19这样的,怎么弄?
...全文
101 点赞 收藏 11
写回复
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengyk 2010-07-29
$ar = array(
9 => array(
17 => 17,
19 => 18,
),
10 => array(
19 => 19,
array(20,21,22,array(23,25,array(39,40)))
),
);

$rs_array = array();
foo($ar,&$rs_array);
$rs_str = implode( ',', $rs_array );

echo $rs_str;


function foo($a,&$rs) {
if(!is_array($a)){
$rs[] = $a;
}
else{
foreach($a as $v) {
if(!is_array($v)){
$rs[] = $v;
}
else{
foo($v,&$rs);
}
}
}
return;
}
回复
Dleno 2010-07-29
[Quote=引用 9 楼 xuzuning 的回复:]

引用 8 楼 dingsongtao 的回复:
PHP code

$a=Array ( '9' => Array ('17' => 17,'18' => 18 ),'10' => Array ( '19' => 19 ));
$ids = "";
foreach($a as $value){
$ids .= $ids?",".join(",",$value):join(",",$v……
[/Quote]

恩,的确。
回复
xuzuning 2010-07-29
[Quote=引用 8 楼 dingsongtao 的回复:]
PHP code

$a=Array ( '9' => Array ('17' => 17,'18' => 18 ),'10' => Array ( '19' => 19 ));
$ids = "";
foreach($a as $value){
$ids .= $ids?",".join(",",$value):join(",",$value);
}
echo $ids;
……
[/Quote]
要是多一维就不能用了
回复
Dleno 2010-07-29

$a=Array ( '9' => Array ('17' => 17,'18' => 18 ),'10' => Array ( '19' => 19 ));
$ids = "";
foreach($a as $value){
$ids .= $ids?",".join(",",$value):join(",",$value);
}
echo $ids;
回复
xuzuning 2010-07-29
这样写
$ar = array(
9 => array(
17 => 17,
19 => 18,
),
10 => array(
19 => 19,
),
);

function foo($a) {
$r = '';
if(! is_array($a)) return $a;
foreach($a as $v) {
$r .= ($r ? ',' : '') . foo($v);
}
return $r;
}

echo foo($ar);
输出:17,18,19
回复
LuciferStar 2010-07-29
你的表单是如何生成的?
input的name为什么要用数字?
回复
vipstar 2010-07-29
数组排序问题吧。。。

试试 sort() ; natsort()
回复
Dogfish 2010-07-29
不是太明白楼主的要求。楼主能否改个例子。
回复
igaojie 2010-07-28
看不懂你要什么,具体说明一下 才能帮你!!
回复
hellok168 2010-07-28
[Quote=引用 1 楼 luciferstar 的回复:]

既然是POST过来的,建议你修改你的FORM。
[/Quote]
具体怎么弄,请详细一下?
回复
LuciferStar 2010-07-28
既然是POST过来的,建议你修改你的FORM。
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

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