在数组中复制和重新排序

时间:2016-11-19 22:23:44

标签: php

我有例如:

$array = array(
   array('aaa', 'bbb'), 
   array('ccc', 'ddd'), 
   array('eee', 'fff')
);

获得这样一个数组的最佳方法是什么:

$array = array(
   array('aaa', 'bbb'), 
   array('bbb', 'aaa'), 
   array('ccc', 'ddd'), 
   array('ddd', 'ccc'), 
   array('eee', 'fff'), 
   array('fff', 'eee')
);

$array中的所有第一个数组之后,我想复制此数组并重新排序。

除了foreach和创建新阵列之外还有其他方式吗?也许array_map

1 个答案:

答案 0 :(得分:1)

使用array_merge尝试这个,但创建新数组

<?php
$array = array(
   array('aaa', 'bbb'), 
   array('ccc', 'ddd'), 
   array('eee', 'fff')
);
$array2 = $array;
for($i=0;$i<count($array);$i++)
{
    $a=$array[$i][0];
    $b=$array[$i][1];
    $temp = $a;
    $a = $b;
    $b = $temp;
    $array2=array_merge($array2, array(array($a,$b)));
}
print_r($array2);
echo json_encode($array2);
?>

<强>输出

  

数组([0] =&gt;数组([0] =&gt; aaa [1] =&gt; bbb)[1] =&gt;数组([0] =&gt;   ccc [1] =&gt; ddd)[2] =&gt;数组([0] =&gt; eee [1] =&gt; fff)[3] =&gt;阵列(   [0] =&gt; bbb [1] =&gt; aaa)[4] =&gt;数组([0] =&gt; ddd [1] =&gt; ccc)[5] =&gt;   数组([0] =&gt; fff [1] =&gt; eee))

JSON OUTPUT

[
  [
    "aaa",
    "bbb"
  ],
  [
    "ccc",
    "ddd"
  ],
  [
    "eee",
    "fff"
  ],
  [
    "bbb",
    "aaa"
  ],
  [
    "ddd",
    "ccc"
  ],
  [
    "fff",
    "eee"
  ]
]