2009-12-26 6 views
0

Ceci est vraiment simple, mais j'ai besoin d'un moyen rapide de le faire.Rejoindre des tableaux en PHP

J'ai trois tableaux comme

$a = array('a','b','c'); 
$p = array('p','q','r'); 
$x = array('x','y','z'); 

Comment puis-je les combiner pour faire

array (
    [0] => array ('a','p','x'); 
    [1] => array ('b','q','y'); 
    [2] => array ('c','r','z'); 
); 
+0

Je ne suis pas sûr que vous pouvez utiliser le même index pour différents tableaux – Sarfraz

+0

@ atif089, j'ai changé les index de '0' à' 0,1,2' parce que votre question semblait être centrée autour des valeurs changeantes et non pas trois éléments avec le même index. –

+0

ouais j'ai fait une erreur dans la question là –

Répondre

2
<?php 
$a = array('a','b','c'); 
$p = array('p','q','r'); 
$x = array('x','y','z'); 

$arr = array(); 
for($i=0; $i<count($a); $i++){ 
    $arr[$i] = array($a[$i], $p[$i], $x[$i]); 
} 
?> 
+1

je faisais le même lol. Je pensais que tehre pourrait être un meilleur moyen :) –

+0

Il y a probablement un PHPism compliqué qui le ferait, mais peu importe ... comment ça se fait, pour ainsi dire. – echo

+0

Mieux vaut utiliser 'min (count ($ a), count ($ p), count ($ x))' pour obtenir le plus grand index commun si les tableaux n'ont pas la même taille. – Gumbo

0

array_map est plus simple, mais pour le bien de possibibility, un exemple de code tapé rapidement d'utiliser la MultipleIterator pour résoudre le problème:

$it = new MultipleIterator; 
foreach(array($a, $p, $x) as $array) { 
    $it->attachIterator(new ArrayIterator($array)); 
} 
$items = iterator_to_array($it, FALSE); 

est peut-être à portée de main au cas où il est plus un tableau.