par
ynx » 06 nov. 2023, 18:02
Pas sûr que la solution sql proposée puisse fonctionner car tu veux faire une intersection, l'utilisation de array_intersect semblait être une bonne piste :
<?php
$jeux = [
["n1" => 1, "n2" => 2, "n3" => 3, "n4" => 4, "n5" => 5],
["n1" => 2, "n2" => 8, "n3" => 20, "n4" => 25, "n5" => 30],
];
$tirages = [["t1" => 8, "t2" => 20, "t3" => 30, "t4" => 31, "t5" => 40]];
foreach ($tirages as $tirage) {
foreach ($jeux as $jeu) {
echo "tirage : " . implode(",", $tirage) . "\n";
echo "jeu : " . implode(",", $jeu) . "\n";
$intersect = array_intersect($tirage, $jeu);
echo "count intersect : " . count($intersect) . "\n";
if (count($intersect) > 0) {
echo "intersect : " . implode(",", $intersect) . "\n";
}
echo "\n";
}
}
Affiche :
tirage : 8,20,30,31,40
jeu : 1,2,3,4,5
count intersect : 0
tirage : 8,20,30,31,40
jeu : 2,8,20,25,30
count intersect : 3
intersect : 8,20,30
Pas sûr que la solution sql proposée puisse fonctionner car tu veux faire une intersection, l'utilisation de array_intersect semblait être une bonne piste :
[PHP]
<?php
$jeux = [
["n1" => 1, "n2" => 2, "n3" => 3, "n4" => 4, "n5" => 5],
["n1" => 2, "n2" => 8, "n3" => 20, "n4" => 25, "n5" => 30],
];
$tirages = [["t1" => 8, "t2" => 20, "t3" => 30, "t4" => 31, "t5" => 40]];
foreach ($tirages as $tirage) {
foreach ($jeux as $jeu) {
echo "tirage : " . implode(",", $tirage) . "\n";
echo "jeu : " . implode(",", $jeu) . "\n";
$intersect = array_intersect($tirage, $jeu);
echo "count intersect : " . count($intersect) . "\n";
if (count($intersect) > 0) {
echo "intersect : " . implode(",", $intersect) . "\n";
}
echo "\n";
}
}
[/PHP]
Affiche :
[PHP]tirage : 8,20,30,31,40
jeu : 1,2,3,4,5
count intersect : 0
tirage : 8,20,30,31,40
jeu : 2,8,20,25,30
count intersect : 3
intersect : 8,20,30[/PHP]