需要php数组转换帮助

时间:2010-08-31 12:55:49

标签: php arrays multidimensional-array

$ cnt [0] =>数组([0] => 0 [1] => 0 [2] => 0),     $ cnt [1] =>数组([0] => 1 [1] => 0 [2] => 0)

我希望将此数组转换为以下结果,

       $cnt[0]=(0,0);
       $cnt[1]=(0,0);
       $cnt[2]=(0,1);

任何php函数都可以转换为这种格式,

谢谢,
Nithish。

2 个答案:

答案 0 :(得分:4)

function flip($arr)
{
    $out = array();

    foreach ($arr as $key => $subarr)
    {
            foreach ($subarr as $subkey => $subvalue)
            {
                 $out[$subkey][$key] = $subvalue;
            }
    }

    return $out;
}

查看更多示例 PHP - how to flip the rows and columns of a 2D array

答案 1 :(得分:2)

我正在将您的预期输出解释为类似对的列表:

$pairs = array(
  array(1,0),
  array(0,0),
  array(0,0)
);

您只需检查子数组的长度是否相同,然后使用for循环:

assert('count($cnt[0]) == count($cnt[1])');

$pairs = array();
for ($i = 0; $i < count($cnt[0]); ++$i)
  $pairs[] = array($cnt[0][$i], $cnt[1][$i]);