Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/04/2011, 14h10   #1
Membre habitué
 
Inscription : octobre 2007
Messages : 172
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 172
Points : 128
Points : 128
Par défaut ne pas afficher le résultat d'un echo

Bonjour,

J'ai une fonction php Fonc1() qui encode un tableau au format JSON et qui se termine par un echo du tableau encodé.

Si j'appel Fonc1() depuis une fonction Fonc2() je vais avoir le contenu encodé de mon tableau qui sera affiché à l'écran. Je souhaiterai ne rien afficher à l'écran et tout stocker dans une variable.

Ma question : existe t il un moyen pour ne pas afficher le résultat d'un echo à l'écran et récupérer l'info dans une variable ?

J'ai oublié de préciser que la fonction Fonc1() ne pouvait pas être modifiée.

Quelqu'un à t il une idée ?

Merci beaucoup.
kineton est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 14h45   #2
Membre chevronné
 
Avatar de Farid63
 
Homme Farid
Inscription : janvier 2008
Messages : 368
Détails du profil
Informations personnelles :
Nom : Homme Farid
Âge : 26
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : janvier 2008
Messages : 368
Points : 684
Points : 684
Ben moi je t'aurai bien de faire un return au lieu du echo dans Fonc1(), mais si tu ne peu pas la modifier, le echo affichera toujours le tableau puisque c'est son rôle.

Si tu ne veux pas afficher, il ne faut pas mettre de echo.
Farid63 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/04/2011, 15h43   #3
Membre éclairé
 
Avatar de BornBanane
 
Homme
Ingénieur développement logiciels
Inscription : mars 2007
Messages : 274
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : mars 2007
Messages : 274
Points : 350
Points : 350
C'est tout à fait possible avec les fonctions de bufferisation ( ici ).
->ob_start :

Citation:
ob_start() démarre la tamporisation de sortie. Tant qu'elle est enclenchée, aucune donnée, hormis les en-têtes, n'est envoyée au navigateur, mais temporairement mise en tampon.

Le contenu de ce tampon peut être copié dans une chaîne avec la fonction ob_get_contents(). Pour afficher le contenu de ce tampon, utilisez ob_end_flush(). Au contraire, ob_end_clean() effacera le contenu de ce tampon.
__________________
Smiley de Plomb 2009
Anciennement FrancoisIT
BornBanane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/04/2011, 16h43   #4
Membre habitué
 
Inscription : octobre 2007
Messages : 172
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 172
Points : 128
Points : 128
Citation:
Envoyé par BornBanane Voir le message
C'est tout à fait possible avec les fonctions de bufferisation ( ici ).
->ob_start :
J'ai justement trouvé cette solution un peu avant ton post, mais merci beaucoup car avec cette méthode ça marche tel que je le souhaitais.

kineton est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h12.


 
 
 
 
Partenaires

Hébergement Web