本帖最后由 fengjianhua1225 于 2009-09-03 17:11:01 编辑

解决方案 »

  1.   

    //代码如下
    $res = array();
    $j = 4;                          //你要的$res里有多少行
    while($j){
       foreach( $data as $row){
            $arr[] = array_rand($row, 1);
       }
       $res[] = $arr;
       $j--;  
       //有重复清空$arr
    }//$res 就是结果
    //基本思路是这样, 没测试
      

  2.   

    对,我 要的效果就是$data里的数组元素未知,每个数组元素的元素也 不确定个数,
      

  3.   

    <pre>
    <?php
    function arr2arr($data)
    {
    $res = array();
    for ($i=0;$i<count($data);$i++){
    $res2 = array();
    foreach ($data[$i] as $v) {
    if (!$res) {
    $res[0][$i] = $v;
    } else{
    for ($x=0;$x<count($res);$x++) {
    $res[$x][$i] = $v;
    }
    }
    $res2 = array_merge($res2,$res);
    }
    $res = $res2;
    }
    return $res;
    }$data = array( 
    array(1,2), 
    array(3,4), 
    array(5) 
    ); print_r(arr2arr($data));$data = array( 
    array(1,2,8), 
    array(3,4), 
    array(5,6),
    array(7)
    ); print_r(arr2arr($data));
    ?>
    </pre>