par
Xenon_54 » 01 janv. 2007, 00:00
En effet, la comparaison se faire sur array1 seulement:
array_intersect() retourne un tableau contenant toutes les valeurs de array1 qui sont présentes dans tous les autres arguments array2, ..., etc. Notez que les clés sont préservées.
Donc si tu as ceci:
ArrayA = 1,2,3
ArrayB = 1,2,4
ArrayC = 1,3,4
Seulement la valeur 1,2,3,5 sera retournée.
1 sera retourné car présent dans A, B et C
2 sera retourné car présent dans A et B
3 sera retourné car présent dans A et C
4 ne sera pas retourné car dans B et C, pas A
Rendu là, il faudrait passer par SQL ou SQLite en créant une table temporaire en mémoire:
Note : Depuis SQLite version 2.8.2, vous pouvez spécifier :memory: comme valeur de filename pour créer une base qui sera installée en mémoire vive, sur le serveur. C'est très pratique pour des traitements temporaires, car la base en mémoire sera détruire dès que le script sera terminé. Cela peut aussi être utile, lorsqu'utilisé conjointement avec la commande SQL ATTACH DATABASE, pour charger d'autres bases, et faire des requêtes liées.
http://ca3.php.net/manual/fr/function.sqlite-open.php
En effet, la comparaison se faire sur array1 seulement:
[quote]array_intersect() retourne un tableau contenant toutes les valeurs de array1 qui sont présentes dans tous les autres arguments array2, ..., etc. Notez que les clés sont préservées.[/quote]
Donc si tu as ceci:
ArrayA = 1,2,3
ArrayB = 1,2,4
ArrayC = 1,3,4
Seulement la valeur 1,2,3,5 sera retournée.
1 sera retourné car présent dans A, B et C
2 sera retourné car présent dans A et B
3 sera retourné car présent dans A et C
4 ne sera pas retourné car dans B et C, pas A
Rendu là, il faudrait passer par SQL ou SQLite en créant une table temporaire en mémoire:
[quote]Note : Depuis SQLite version 2.8.2, vous pouvez spécifier :memory: comme valeur de filename pour créer une base qui sera installée en mémoire vive, sur le serveur. C'est très pratique pour des traitements temporaires, car la base en mémoire sera détruire dès que le script sera terminé. Cela peut aussi être utile, lorsqu'utilisé conjointement avec la commande SQL ATTACH DATABASE, pour charger d'autres bases, et faire des requêtes liées.[/quote]
http://ca3.php.net/manual/fr/function.sqlite-open.php