Rechercher 2 valeurs dans un tableau, retourner la ligne
zory
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je cherche a renvoyer la ligne complète d'un tableau a deux dimensions qui contiendrait deux valeurs.
Par exemple :
Idu idr idt vitesse temps
1 2 2 12 55
2 2 5 135 27
3 2 7 1 22
comment renvoyer la position de la ligne répondant aux critères idr =2 et idt =5 ?
Array search ne fonctionne que sur 1 dimenssion d'après cce que j'ai compris
Merci de votre aide
Je cherche a renvoyer la ligne complète d'un tableau a deux dimensions qui contiendrait deux valeurs.
Par exemple :
Idu idr idt vitesse temps
1 2 2 12 55
2 2 5 135 27
3 2 7 1 22
comment renvoyer la position de la ligne répondant aux critères idr =2 et idt =5 ?
Array search ne fonctionne que sur 1 dimenssion d'après cce que j'ai compris
Merci de votre aide
A voir également:
- Rechercher 2 valeurs dans un tableau, retourner la ligne
- Tableau word - Guide
- Retourner ecran pc - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Partager photos en ligne - Guide
5 réponses
Bonjour
Si tu ne veux afficher que le numéro de la ligne voilà comment il faut faire
Si tu ne veux afficher que le numéro de la ligne voilà comment il faut faire
SELECT Idu FROM ta_table WHERE idr = 2 AND idt = 5;
Bonsoir,
non ne je cherche pas a faire une requête sql, je cherche à identifier la ligne qui match avec deux valeurs...
non ne je cherche pas a faire une requête sql, je cherche à identifier la ligne qui match avec deux valeurs...
Bonjour,
Un truc du genre devrait te convenir je pense :
https://stackoverflow.com/questions/8102221/php-multidimensional-array-searching-find-key-by-specific-value
Un truc du genre devrait te convenir je pense :
https://stackoverflow.com/questions/8102221/php-multidimensional-array-searching-find-key-by-specific-value
class Stdlib_Array { public static function multiSearch(array $array, array $pairs) { $found = array(); foreach ($array as $aKey => $aVal) { $coincidences = 0; foreach ($pairs as $pKey => $pVal) { if (array_key_exists($pKey, $aVal) && $aVal[$pKey] == $pVal) { $coincidences++; } } if ($coincidences == count($pairs)) { $found[$aKey] = $aVal; } } return $found; } } // Example: $data = array( array('foo' => 'test4', 'bar' => 'baz'), array('foo' => 'test', 'bar' => 'baz'), array('foo' => 'test1', 'bar' => 'baz3'), array('foo' => 'test', 'bar' => 'baz'), array('foo' => 'test', 'bar' => 'baz4'), array('foo' => 'test4', 'bar' => 'baz1'), array('foo' => 'test', 'bar' => 'baz1'), array('foo' => 'test3', 'bar' => 'baz2'), array('foo' => 'test', 'bar' => 'baz'), array('foo' => 'test', 'bar' => 'baz'), array('foo' => 'test4', 'bar' => 'baz1') ); $result = Stdlib_Array::multiSearch($data, array('foo' => 'test4', 'bar' => 'baz1')); var_dump($result);
Ca me parrait pas mal mais j'ai une erreur étrange :
Le tableau que je transmets est le résultat d'une requête PDO
Vous avez une idée ?
Warning: array_key_exists() expects parameter 2 to be array, string given
Le tableau que je transmets est le résultat d'une requête PDO
$rowtotalstats = $stmttotalstats->fetch(PDO::FETCH_BOTH);
Vous avez une idée ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Jordane45,
c'est pour organiser mes données, c'est en lien avec cette question auquelle tu m'as aidé :
https://forums.commentcamarche.net/forum/affich-34253754-aide-pour-structurer-requette-sql
Je n'arrive pas m'en sortir
c'est pour organiser mes données, c'est en lien avec cette question auquelle tu m'as aidé :
https://forums.commentcamarche.net/forum/affich-34253754-aide-pour-structurer-requette-sql
Je n'arrive pas m'en sortir
....
As tu essayé de manipuler ton array de sorti pour le mettre dans la forme souhaitée ??? (comme indiqué ici : https://forums.commentcamarche.net/forum/affich-34253754-aide-pour-structurer-requette-sql#6 )
A l'aide d'une ou deux boucles imbriquées... ça ne devrait pas être trop compliqué ....
Quoi qu'il en soit .. je ne vois pas le rapport entre le fait de filtrer sur deux données d'un array et ta question qui concernait la "mise en forme" d'une requête....
As tu essayé de manipuler ton array de sorti pour le mettre dans la forme souhaitée ??? (comme indiqué ici : https://forums.commentcamarche.net/forum/affich-34253754-aide-pour-structurer-requette-sql#6 )
A l'aide d'une ou deux boucles imbriquées... ça ne devrait pas être trop compliqué ....
Quoi qu'il en soit .. je ne vois pas le rapport entre le fait de filtrer sur deux données d'un array et ta question qui concernait la "mise en forme" d'une requête....
j'ai ajouté une suggestion en réponse à l'autre question
https://forums.commentcamarche.net/forum/affich-34253754-aide-pour-structurer-requette-sql#7
https://forums.commentcamarche.net/forum/affich-34253754-aide-pour-structurer-requette-sql#7