[PHP] - Fonction explode et une boucle
Résolu/Fermé
Bobox87
-
26 sept. 2010 à 15:48
bobox87 Messages postés 32 Date d'inscription lundi 6 septembre 2010 Statut Membre Dernière intervention 25 juillet 2011 - 26 sept. 2010 à 17:43
bobox87 Messages postés 32 Date d'inscription lundi 6 septembre 2010 Statut Membre Dernière intervention 25 juillet 2011 - 26 sept. 2010 à 17:43
A voir également:
- [PHP] - Fonction explode et une boucle
- Fonction si et - Guide
- Easy php - Télécharger - Divers Web & Internet
- Fonction moyenne excel - Guide
- Retour a la ligne php ✓ - Forum PHP
- Fonction filtre excel n'existe pas - Forum Excel
4 réponses
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
26 sept. 2010 à 17:26
26 sept. 2010 à 17:26
une autre solution:
<?php $val='1|tomate|16|fraise'; $array_val = explode('|', $val); $array_produits = array(); for($a=0; a<count($array_val); $a+=2){ $array_produits [$array_val[$a]] = $array_val[$a+1]; //la on stockes dans l'array_produits l'index de l'array=id_produit donc la premiere valeur et comme valeur à cet index la deuxième valeur //exemple: $array_produits [1]=tomate $array_produits [16]=fraise } //affichage des liens: // Si le membre a des produits dans ses favoris if (count($array_val)>0) { // boucle sur l'array_produits foreach ($array_produits as $id=>$nom){ echo '<p><a href="../produits/produit.php?id='.$id.'">'.$nom.'</a>, </p>'; } } else { echo '<p>'.$donnees["membre_pseudo"].' n\'a pas encore ajouté de produits à ses favoris</p>'; } ?>
<?php
$var = explode('|', $array);
$produit = array();
for($a=0; a<count($var); $a+=2){
$produit[] = array($var[$a], $var[$a+1]);
}
print_r($produit);
?>
Le mieux aurai été de différenciez les éléments entre eux.
séparateur d'article | séparateur de quantité * par exemple
1*tomate|16*fraise etc...
$var = explode('|', $array);
$produit = array();
for($a=0; a<count($var); $a+=2){
$produit[] = array($var[$a], $var[$a+1]);
}
print_r($produit);
?>
Le mieux aurai été de différenciez les éléments entre eux.
séparateur d'article | séparateur de quantité * par exemple
1*tomate|16*fraise etc...
bobox87
Messages postés
32
Date d'inscription
lundi 6 septembre 2010
Statut
Membre
Dernière intervention
25 juillet 2011
1
26 sept. 2010 à 17:02
26 sept. 2010 à 17:02
Merci pour ton aide mais là ça m'affiche le résultat comme un array, je veux dire comme ça:
Moi je voudrais afficher chaque résultat dans un paragraphe. En fait j'ai repris cet exemple là sur php.net
Mais comment faire pour gérer ça avec une boucle ?
Array ( [0] => one [1] => two [2] => three )
Moi je voudrais afficher chaque résultat dans un paragraphe. En fait j'ai repris cet exemple là sur php.net
// Exemple 2 $data = "foo:*:1023:1000::/home/foo:/bin/sh"; list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data); echo $user; // foo echo $pass; // *
Mais comment faire pour gérer ça avec une boucle ?
bobox87
Messages postés
32
Date d'inscription
lundi 6 septembre 2010
Statut
Membre
Dernière intervention
25 juillet 2011
1
26 sept. 2010 à 17:43
26 sept. 2010 à 17:43
Un grand merci pour ta contribution Alain_42 (et merci à Siluni aussi)
Voilà mon code qui marche:
Il y a quelques subtilités encore nouvelles pour moi mais je vais décortiquer tout ça et rajouter des commentaires pour bien m'en rappeler.
Encore merci à vous deux !
Voilà mon code qui marche:
$val = $donnees['membre_produit_favoris']; $array_val = explode('|', $val); $array_produits = array(); for($a=0; $a<count($array_val) - 1; $a+=2) { $array_produits[$array_val[$a]] = $array_val[$a+1]; } //la on stockes dans l'array_produits l'index de l'array=id_produit donc la premiere valeur et comme valeur à cet index la deuxième valeur //exemple: $array_produits [1]=tomate $array_produits [16]=fraise // Si le membre a des produits dans ses favoris if ($val != "") { echo '<p>'; // boucle sur l'array_produits foreach ($array_produits as $id=>$nom) { echo '<a href="../produits/produit.php?id='.$id.'">'.$nom.'</a>, '; } echo '</p>'; } else { echo '<p>'.$donnees["membre_pseudo"].' n\'a pas encore ajouté de produits à ses favoris</p>'; }
Il y a quelques subtilités encore nouvelles pour moi mais je vais décortiquer tout ça et rajouter des commentaires pour bien m'en rappeler.
Encore merci à vous deux !