-2
votes

Filtre de tableau et fusionner en PHP

J'essaie de fusionner le tableau mais je n'ai pas reçu ce que je m'attendais.

J'ai fait comme ça, mais cela n'a pas réussi ce que je veux. P>

 $c = array('1','2','3','4','5','6','7','9');


4 commentaires

Après fusion, les données doivent-elles être triées?


Vous ne voulez pas que le «2» et le «4» du deuxième tableau? Pourquoi vous ne pouvez pas utiliser Array_Merge et l'ASORT ()?


La question réelle est que vous souhaitez que le résultat soit trié ou ajouter simplement l'élément une à chaque fois de chaque tableau? Si vous souhaitez trier, alors array_merge et Trier comme suggéré - sinon voir mon message


Remarque: il ne trie pas la commande. Je veux trier par alternativement.


3 Réponses :


1
votes

Utiliser array_shift code> puis prenez le premier élément à chaque fois. Au filtre d'extrémité, les soptes vides avec array_filter code>: xxx pré>

référence: TRAY-FILTER , Array-Shift P>

Exemple en direct: 3v4l p>

Si vous le souhaitez trier, faites simplement: P>

print_r(sort(array_merge($a,$b)));    


2 commentaires

array_values ​​supprimera le tableau vide print_r (array_values ​​(Array_Filter ($ res))); // contient: Array ('1', '2', '3', '5', '6', '6', '7', '9');


Votre réponse est le moyen le plus simple et mieux que ma réponse. Merci beaucoup.



0
votes
$a = array('1', '3', '5', '7', '9');
$b = array('2', '4', '6');
$c = array_merge($a, $b);

//If you want to sort array add this line too
//If you want to preserve keys, check asort() function
sort($c);

print_r($c);

2 commentaires

Qu'est-ce qui est nouveau à cette réponse qui n'est pas dans @drakula Predator Post?


Maintenant à peu près rien, mais son message est édité plus tard pour ajouter une fonction de tri



0
votes

J'ai une solution ce que je voulais le faire.

$a = array('1', '3', '5', '7', '9');
$b = array('2', '4', '6');
$count_b = sizeof($b); 
$i = 0;
while ($i < $count_b){
  $a_b[] = $a[$i];
  $a_b[] = $b[$i];
 $i++;
}
// the result will be
$a_b = array('1','2','3','4','5','6');
$ab = array_unique(array_merge( $a_b,$a ));
$ab= array_values($ab);

// this is my excepted result
array (size=8)
  0 => int 1
  1 => int 2
  2 => int 3
  3 => int 4
  4 => int 5
  5 => int 6
  6 => int 7
  7 => int 9


0 commentaires