比如现在有两个数组
$str1=array("a","b","c");
$str2=array("1,2","3,4","5,6");需求是下面这个形式的数组$str3=array("a,1,2","b,3,4","c,5,6");
有没有可能实现这种效果的函数呢,小弟新手,求大神帮忙!

解决方案 »

  1.   

    $str1=array("a","b","c");
    $str2=array("1,2","3,4","5,6");print_r(array_map('foo', $str1, $str2));function foo($a, $b) {
      return "$a,$b";
    }
    Array
    (
        [0] => a,1,2
        [1] => b,3,4
        [2] => c,5,6
    )
      

  2.   

    不知道有没,自己写一个吧。
    function composeArray($ary1,$ary2)

    //取两个数组较小的那个总数 比如第一个数组是2 第二个是3 取2
    $count = count($ary1)>count($ary2)?count($ary2):count($ary1);
    for($i=0;$i<$count;$i++)
    $newAry[] =$ary1[$i].",".$ary2[$i]; return $newAry;
    }$str1=array("a","b","c");
    $str2=array("1,2","3,4","5,6");print_r(composeArray($str1, $str2));
      

  3.   

    先谢谢版主,我先试试看,但是我在手册里,怎么没看见过array_map()这个函数呢?   (ps: 手册版本好像很老了! - - !)