按指定键名的值拆分数组问题(贺发首贴送诚意分100) 本帖最后由 jeffers_qiu 于 2009-07-20 01:53:35 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $A = array( 0=> array(6,col=>b,4,7), 1=> array(2,col=>b,5,8), 2=> array(4,col=>c,5,6), 3=> array(3,col=>b,6,9), 4=> array(9,col=>c,7,8),);$B = array();foreach($A as $key => $value){ $B[$value['col']][] = $value;}print_r($B); $A = array( 0=> array(6,col=>b,4,7), 1=> array(2,col=>b,5,8), 2=> array(4,col=>c,5,6), 3=> array(3,col=>b,6,9), 4=> array(9,col=>c,7,8),);$B = array();foreach($A as $key => $value){ $B[$value['col']][] = $value;}print_r($B); 我上面代码就可以了。不过$B中的key 是col的值,到时候随便改下就可以了。 $A = array( 0=> array(6,'col'=>'b,4,7'), 1=> array(2,'col'=>'b,5,8'), 2=> array(4,'col'=>'c,5,6'), 3=> array(3,'col'=>'b,6,9'), 4=> array(9,'col'=>'c,7,8'));$B = array();foreach($A as $k=>$v){ $key = explode(',',$v['col']); if(!$B[$key[0]]) $B[$key[0]] = array(); array_push($B[$key[0]],$v);}echo "<pre/>";print_r(array_values($B)); $A = array( 0=> array(6,'col'=>'b,4,7'), 1=> array(2,'col'=>'b,5,8'), 2=> array(4,'col'=>'c,5,6'), 3=> array(3,'col'=>'b,6,9'), 4=> array(9,'col'=>'c,7,8'));$arrTemp = array();foreach($A as $key=>$value){ $arrTemp[$value['col'][0]][] = $value;} print_r(array_values($arrTemp)); 谢谢楼上3位大侠~在我的CSDN处女贴上就下温柔抓印;) 以后咱们就是自己人了1楼chenping1984的办法最后加上array_values($B)就完美了;4楼foolbirdflyfirst,$A不是我给的$A,col值不用做字符串分割的5楼jakey9826办法和1楼大致一样,补齐了array_values 只能根据你提供的例子进行思考,你给的例子col值类似'a,2,4'这样,谁也不知道col值会不会出现'abc,2,4'这样的情况,字符串分割可以保证正确性,所以就给你考虑进去了。 javascript页面跳转问题 请教!!复习框 单选框 php post方式读取 php一个简单的问题请教 一个图书管理系统的疑问 在PHPX无人回答吖!怎样取得复选框的值? 如何把文本数据导入Mysql 数据库啊 PHP 链接DBF 英文Windows2000 Advanced Server,IIS安装php不能装载php_oci8.dll 如何在apache_2.0.35下安装php4.1.2!!!! 循环中将循环中的不同值赋给不同变量 求一正则在线等 自循环函数 为什么不能用return?????
0=> array(6,col=>b,4,7),
1=> array(2,col=>b,5,8),
2=> array(4,col=>c,5,6),
3=> array(3,col=>b,6,9),
4=> array(9,col=>c,7,8),
);
$B = array();
foreach($A as $key => $value){
$B[$value['col']][] = $value;
}
print_r($B);
0=> array(6,col=>b,4,7),
1=> array(2,col=>b,5,8),
2=> array(4,col=>c,5,6),
3=> array(3,col=>b,6,9),
4=> array(9,col=>c,7,8),
);
$B = array();
foreach($A as $key => $value){
$B[$value['col']][] = $value;
}
print_r($B);
$B中的key 是col的值,到时候随便改下就可以了。
0=> array(6,'col'=>'b,4,7'),
1=> array(2,'col'=>'b,5,8'),
2=> array(4,'col'=>'c,5,6'),
3=> array(3,'col'=>'b,6,9'),
4=> array(9,'col'=>'c,7,8')
);
$B = array();
foreach($A as $k=>$v)
{
$key = explode(',',$v['col']);
if(!$B[$key[0]]) $B[$key[0]] = array();
array_push($B[$key[0]],$v);
}
echo "<pre/>";
print_r(array_values($B));
$A = array(
0=> array(6,'col'=>'b,4,7'),
1=> array(2,'col'=>'b,5,8'),
2=> array(4,'col'=>'c,5,6'),
3=> array(3,'col'=>'b,6,9'),
4=> array(9,'col'=>'c,7,8')
);
$arrTemp = array();
foreach($A as $key=>$value)
{
$arrTemp[$value['col'][0]][] = $value;
}
print_r(array_values($arrTemp));
1楼chenping1984的办法最后加上array_values($B)就完美了;
4楼foolbirdflyfirst,$A不是我给的$A,col值不用做字符串分割的
5楼jakey9826办法和1楼大致一样,补齐了array_values