您的位置:首页 > 编程语言 > PHP开发

PHP foreach创建二维数组,不用array_merge_recursive,好多人不会

2012-04-11 16:33 169 查看
帮朋友友解决了一个PHP 二维数组的问题,要实现的效果是:

$total=array(
0=>array(0=>$n,1=>$name1,2=>"#123456"),
1=>array(0=>$m,1=>$name2,2=>"#654123"),
.......(还有N个)	);


这是一个很典型的二维数组, 我的实现方法是这样的:

foreach($color as $color_key=>$color_value)
{

$str_key[]=$n[$color_key].",".$name[$color_key].",".$color[$color_key];

foreach($str_key as $s_k=>$s_v)
{
$aaa=explode(",",$s_v);

}

$str_arr[]=$aaa;

}


下面就跟大家做个小小的测试,了解一下怎样创建二维数组。

/*———————————————————————————————————分隔线—————————————————————————————————————*/

$a=array(0=>"a",1=>"b",2=>"c",3=>"d");
$b=array(0=>"一",1=>"二",2=>"三",3=>"四");
$c=array(0=>"one",1=>"two",2=>"three",3=>"four");
/*先把这三个数组按键值重组,下面是实现代码*/

foreach ($c as $c_key=>$c_value)
{
//首先按键值重组成新数组
$str[]=$a[$c_key].",".$b[$c_key].",".$c_value;

}
print_r($str);//Array ( [0] => a,一,one [1] => b,二,two [2] => c,三,three [3] => d,四,four )  效果已经实现了吧

/*第二步要做的就是把重组好的数组分解成新数组*/
foreach ($c as $c_key=>$c_value)
{
//首先按键值重组成新数组
$str[]=$a[$c_key].",".$b[$c_key].",".$c_value;

//分解组成新数组
foreach($str as $str_key=>$str_value)
{
$ex_str=explode(",",$str_value);

}
//将新数组再赋给一个数组
$str_arr[]=$ex_str;

}
print_r($str_arr);// Array ( [0] => Array ( [0] => a [1] => 一 [2] => one ) [1] => Array ( [0] => b [1] => 二 [2] => two ) [2] => Array ( [0] => c [1] => 三 [2] => three ) [3] => Array ( [0] => d [1] => 四 [2] => four ) )


这就创建了一个二维数组,有点伤脑细胞,多练习一下就熟了哈。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: