PHP, tableau 3 colonnes, tri et for each

Fermé
peek59 - 19 avril 2011 à 14:55
coeus Messages postés 3021 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 - 19 avril 2011 à 15:40
Bonjour,
En PHP, je souhaiterai créer un tableau à 3 colonnes :
- la première valeur serait la clé du tableau (par défaut)
- la seconde colonne, la valeur de $num
- la troisième colonne, la valeur de $produit
Ensuite, je souhaiterai faire un tri croissant sur les valeurs de la deuxième colonne et ensuite faire une boucle foreach pour afficher le tout dans le bon ordre :
Voici mon code :


$tab = array();

$num=45;  
$produit=90;  
$tab[] = array(  'a' => $num, 'b' => $produit); 

$num=25;  
$produit=50;
$tab[] = array(  'a' => $num, 'b' => $produit); 

$num=135;  
$produit=195;
$tab[] = array(  'a' => $num, 'b' => $produit); 


krsort($tab);
foreach( $tab as $key => $value ) 
{
  echo 'Le numéro est "' . $tab['a'] . '", pour le produit "' . $tab['b'] . '"<br />'; 
}


Voilà ce que j'obtiens en retour :

Le numéro est "", pour le produit ""
Le numéro est "", pour le produit ""
Le numéro est "", pour le produit ""

Auriez-vous la solution pour que j'obtienne :

Le numéro est "25", pour le produit "50"
Le numéro est "45", pour le produit "90"
Le numéro est "135", pour le produit "195"


Merci d'avance
A voir également:

1 réponse

coeus Messages postés 3021 Date d'inscription samedi 13 janvier 2007 Statut Membre Dernière intervention 19 juin 2013 119
19 avril 2011 à 15:40
Salut !

Dans ton foreach(), au lieu de :

echo 'Le numéro est "' . $tab['a'] . '", pour le produit "' . $tab['b'] . '"<br />'; 

Essaie :

echo 'Le numéro est "' . $value['a'] . '", pour le produit "' . $value['b'] . '"<br />'; 
2