Bonjour à tous,
Etant tombé par chance sur
ce Topic datant du début de 2007, vu qu'il s'agit d'un de mes soucis rencontrés rencontrés récemment en PHP, je souhaiterai avoir plus d'informations sur la solution proposé par
Raptor:
$tab3 = $tab1;
foreach($tab2 as $tab) {
if (!in_array($tab,$tab3)) $tab3[]=$tab;
}
Les solutions de
Ryle quant à elles, ne semblaient pas fonctionner mieux hélas (bien que ce furent ces
functions qu'il me semblait plus logique d'utiliser pour mon cas):
array_merge( array_diff($tab1, $tab2), array_diff($tab2, $tab1) );
Je me demandais alors si le problème ne venait pas de ma façon de définir mes tableaux. Elle était la suivante:
global $i;
$i=0;
$datas = array();
while ( $datas[$i] = mysql_fetch_assoc($req)) {
$i++;
} // end while
unset ($datas[$i]); // cleaning just the last empty array
En effet l'utilisation du
mysql_fetch_assoc ne créerait-elle pas de "vrais" tableaux dans le sens où ce sont des chaînes
str. de caractères pures et simples ?
Je veux dire par là, que dans le
foreach, on utilise tout simplement des
chaînes str. de caractères, tandis qu'avec les
functions array_unique, array_merge et array_diff, on travaille sur des tableaux (
Array), leurs clés (
key) et leurs valeurs (
value).
Est-ce que dans le code que j'utilise, l'utilisation de tableaux multidimensionnaux $datas[$i] (des tableaux dans des tableaux ou quelque chose comme ça) n'empêcherait-elle pas l'utilisation correcte des
functions suggérées par
Ryle ?
Merci d'avance pour toutes vos réponses.
P.S.: Pardonnez-moi si je formule un peu mal le problème.
Uzi