Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
770 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Return et foreach

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Return et foreach

n°1675595
snooze24
Posté le 23-01-2008 à 12:55:34  profilanswer
 

Salut a tous
 
Alors voila mon problème.
Je dois utilisé une fonction comprenant un foreach , et ensuite récuperé la variable pour l'afficher en html.
Seulement , un return ne me retourne qu'une ligne alors qu'il devrait y en a voir plusieurs .
Je m'explique .
Voici ma fonction :
 

Code :
  1. function linkcheck($link)
  2. {
  3. foreach($link as $lcheck){
  4. return $lcheck;
  5. }


 
et j'ai inclus la variable $status ($status=linkcheck($link)) dans mon code html.
$link contient plusieurs ligne , mais lors du return seul la 1ere ligne s'affiche.
J'ai essayé avec un echo , la toutes les lignes s'affichent , mais tout en haut de la page et non pas a l'endroit ou se situe $status.
 
Existerai t'il un moyen pour que toutes mes lignes soit affiché au bon endroit ?
 
Merci

mood
Publicité
Posté le 23-01-2008 à 12:55:34  profilanswer
 

n°1675597
skeye
Posté le 23-01-2008 à 12:58:21  profilanswer
 

return sort de la function, c'est normal. Je ne sais pas ce que tu essaiyes de faire, mais c'est pas comme ça. Si tu veux retourner plusieurs valeurs il faut créer un tableau et retourner ce tableau après la boucle.


Message édité par skeye le 23-01-2008 à 12:59:58

---------------
Can't buy what I want because it's free -
n°1675599
kyodenball
Posté le 23-01-2008 à 13:01:04  profilanswer
 

C'est normal dès qu'il y a return il quitte la fonction. Ce que tu peux faire c'est de mettre tes valeurs dans une variable et après de faire un return de ta variable.

n°1675619
drasche
Posté le 23-01-2008 à 13:40:01  profilanswer
 

http://www.php.net/manual/fr/function.return.php
 

Citation :

Si appelée depuis une fonction, la commande return()  termine immédiatement la fonction [...]


 
Ca m'a l'air bien expliqué pourtant.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°1675622
snooze24
Posté le 23-01-2008 à 13:43:19  profilanswer
 

kyodenball a écrit :

C'est normal dès qu'il y a return il quitte la fonction. Ce que tu peux faire c'est de mettre tes valeurs dans une variable et après de faire un return de ta variable.


 
Merci de vos réponse
Comment puis je mettre toute les valeurs obtenus après le foreach dans une variable ?

n°1675624
skeye
Posté le 23-01-2008 à 13:45:38  profilanswer
 

En apprenant les bases sur les tableaux.
http://fr3.php.net/manual/fr/language.types.array.php
http://fr3.php.net/manual/fr/ref.array.php


Message édité par skeye le 23-01-2008 à 13:46:28

---------------
Can't buy what I want because it's free -
n°1675657
mIRROR
Chevreuillobolchévik
Posté le 23-01-2008 à 14:40:24  profilanswer
 

snooze24 a écrit :


Code :
  1. function linkcheck($link)
  2. {
  3. foreach($link as $lcheck){
  4. return $lcheck;
  5. }



 
[:jar jar]


---------------
« The enemy is the gramophone mind, whether or not one agrees with the record that is being played at the moment. » — George Orwell
n°1675673
Profil sup​primé
Posté le 23-01-2008 à 14:53:42  answer
 

snooze24 a écrit :


 
Merci de vos réponse
Comment puis je mettre toute les valeurs obtenus après le foreach dans une variable ?


Tu dois les mettre dans un tableau comme par exemple :
 

Code :
  1. <?php
  2. $links = Array("www.google.com","www.yahoo.com" );
  3. function linkcheck($link)
  4. {
  5.   $link_list = Array();
  6.   foreach($link as $lcheck){
  7.     array_push($link_list,$lcheck);
  8.   }
  9.   return $link_list;
  10. }
  11. $test = linkcheck($links);
  12. print_r($test);
  13. ?>


 
Bon j'espère que tu as un traitement quelconque à faire entre les deux sinon ça sert à rien :d

n°1675684
snooze24
Posté le 23-01-2008 à 15:02:13  profilanswer
 

Ok merci je vais essayer sa de suite :)

n°1675686
dwogsi
Défaillance cérébrale...
Posté le 23-01-2008 à 15:07:46  profilanswer
 


C'est quoi l'intérêt de la fonction???


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
mood
Publicité
Posté le 23-01-2008 à 15:07:46  profilanswer
 

n°1675687
drasche
Posté le 23-01-2008 à 15:10:17  profilanswer
 

dwogsi a écrit :

C'est quoi l'intérêt de la fonction???


Ca a l'air d'être un foreach top moumoutte [:petrus75]


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°1675728
Profil sup​primé
Posté le 23-01-2008 à 15:54:22  answer
 

dwogsi a écrit :


C'est quoi l'intérêt de la fonction???


Comme je l'ai dit, à rien.
C'est juste pour montrer. [:doc_prodigy]

n°1675741
anapajari
s/travail/glanding on hfr/gs;
Posté le 23-01-2008 à 16:08:43  profilanswer
 

dwogsi a écrit :


C'est quoi l'intérêt de la fonction???


refaire la fonction array_values :)
edit: ptain mais même pas en fait :/
ça retourne le même tableau que celui qui est passé en paramètre ...


Message édité par anapajari le 23-01-2008 à 16:09:49
n°1675745
omega2
Posté le 23-01-2008 à 16:11:58  profilanswer
 

anapajari > Sisi, ça refait array_values (on perd bien les clé qui se retrouvent être remplacé par des nombres).

n°1675762
anapajari
s/travail/glanding on hfr/gs;
Posté le 23-01-2008 à 16:22:33  profilanswer
 

bin à condition que son tableau ait des clés (ce qui reste encore à prouver), d'ou mon edit.

n°1675768
omega2
Posté le 23-01-2008 à 16:28:13  profilanswer
 

D'un autre côté, sans clé, array_values retourne elle aussi un tableau identique à celui qu'on lui fournit. Je ne vois pas en quoi ça diffère sur ce point.

n°1675793
anapajari
s/travail/glanding on hfr/gs;
Posté le 23-01-2008 à 16:45:36  profilanswer
 

nan mais en rien!  ça diffère en rien ...
Juste ma réflexion fut: tiens il a recodé array_values ... en fait non, il doit  passer un tableau sans clé ... donc il a codé une fonction qui revient à:

Code :
  1. function linkcheck($link){
  2.  return $link;
  3. }


d'ou mon edit, stout :o

n°1675798
omega2
Posté le 23-01-2008 à 16:53:24  profilanswer
 

Donc ta réflexion était faussé par le fait que tu n'as pris en compte qu'un cas particulier au lieux du cas général. :P

n°1675802
anapajari
s/travail/glanding on hfr/gs;
Posté le 23-01-2008 à 16:58:21  profilanswer
 

non ma réflexion était faussé par la qualité de la demande qui m'a amené à penser que tout le reste était pareil.
Enfin j'ai dit une connerie quoi ( si c'est ça que tu voulais que je dise ;) )

n°1675813
omega2
Posté le 23-01-2008 à 17:04:13  profilanswer
 

Oui . :D Non, je rigole. :p
C'est sur la qualité de la demande était nulle, mais le code d'exemple de la réponse ne l'était pas autant (enfin, elle était aussi bonne que possible avec une telle question). :P

n°1675830
dwogsi
Défaillance cérébrale...
Posté le 23-01-2008 à 17:21:34  profilanswer
 

Pas si on prend en compte le tableau donné en exemple :o


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1676961
snooze24
Posté le 25-01-2008 à 20:17:31  profilanswer
 

Merci pour toute vos réponses.  
Est il possible de retourné uniquement les valeurs du tableau et pas le tableau entier ?

n°1676962
masklinn
í dag viðrar vel til loftárása
Posté le 25-01-2008 à 20:18:57  profilanswer
 

snooze24 a écrit :

Merci pour toute vos réponses.  
Est il possible de retourné uniquement les valeurs du tableau et pas le tableau entier ?


Mais encore? Comment tu veux les utiliser si elles ne sont dans rien du tout? Tu sais à l'avance exactement combien de valeurs la fonction va retourner ou pas?


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1676977
snooze24
Posté le 25-01-2008 à 21:11:22  profilanswer
 

masklinn a écrit :


Mais encore? Comment tu veux les utiliser si elles ne sont dans rien du tout? Tu sais à l'avance exactement combien de valeurs la fonction va retourner ou pas?


 
En utilisant la fonction de corten qui se trouve pluzs haut , j'obtient ceci :
 

Code :
  1. Array ( [0] => www.google.com [1] => www.yahoo.com )


 
Je souhaiterai affiché uniquement
 

Code :
  1. www.google.com www.yahoo.com


 
et je ne sais pas a l'avance combien de valeurs sont a retournés.
 
Merci de ton aide

n°1676978
masklinn
í dag viðrar vel til loftárása
Posté le 25-01-2008 à 21:25:11  profilanswer
 

print_r sert uniquement à débugger, c'est pas fait pour afficher les liens dans la page [:pingouino]
 
Pour les afficher tu vas lire la doc et apprendre comment on itère sur un tableau [:spamafote]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1676990
snooze24
Posté le 25-01-2008 à 22:43:12  profilanswer
 

Merci bien je vais jeter un coup d'oeil a cela ;)

n°1677000
snooze24
Posté le 25-01-2008 à 23:25:03  profilanswer
 

C'est très gentil de ta part.  
Je passerai a la fnac après le taff.
Sinon grace a la fonction implode j'ai trouvé mon bonheur , merci encore :)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Return et foreach

 

Sujets relatifs
[RESOLU] Signification d'un returnProbléme avec fonction foreach
pb "return" méthode javaProblème avec foreach !
petite question sur le foreach[RESOLU] - Probleme requete SQL - RETURN
Changer d'action en fin de foreach[Résolu] Problème de return d'une fonction
foreach pour un tableaurenvoyer 2 tableaux avec return
Plus de sujets relatifs à : Return et foreach


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR