2011-11-22 49 views
6

说我有这个代码PHP - 数组中重复的值

$x = array("a", "b", "c", "d", "e"); 

有没有办法,我可以创建后调用重复的值,所以在上面的例子中$x将成为任何功能

array("a", "b", "c", "d", "e", "a", "b", "c", "d", "e"); 

我以为这样但它不起作用

$ x = $ x + $ x;

+0

没有关系吗? – thetaiko

+1

检查这个问题:http://stackoverflow.com/questions/2650177/cant-concatenate-2-arrays-in-php – DiogoDoreto

+0

@thetaiko,是的顺序是重要的 –

回答

9
$x = array("a", "b", "c", "d", "e"); 

$x = array_merge($x,$x); 

合并数组到其自身将重复值作为序列重复。

0

你可以遍历数组并将每个变量循环到单独的重复数组中。下面是一些代码了我的头顶部:

$x = array("a", "b", "c", "d", "e"); 
$duplicateArray = $array; 

foreach ($x as $key) { 
    $duplicateArray[] = $key; 
} 

foreach ($x as $key) { 
    $duplicateArray[] = $key; 
} 
6
php > $x = array("a", "b", "c", "d", "e"); 
php > print_r(array_merge($x, $x)); 

Array 
(
    [0] => a 
    [1] => b 
    [2] => c 
    [3] => d 
    [4] => e 
    [5] => a 
    [6] => b 
    [7] => c 
    [8] => d 
    [9] => e 
) 
+0

谢谢你的工作知府 –

+0

@Ash - 也有一个很好的摘要页面,它很好地描述了PHP中的所有数组函数:http://php.net/manual/en/ref.array.php – thetaiko

2

这应该做的伎俩:

$x = array("a", "b", "c", "d", "e"); 
$x = array_merge($x,$x); 
0
$x = array_merge($x, $x); 

或者你可以去循环和复制,如果你首选。