IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Développement de fonction


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 54
    Par défaut Développement de fonction
    Bonjour,

    Je voudrais bien formater une suite de 11 chiffres issus d'une BDD come ceci 123456-123-12.

    J'ai essayé d'écrire une fonction en me basant sur une fonction existante de mon formulaire mais ça ne marche pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function nissFR($niss) {
       list($aaaaaa,$bbb,$cc)=explode("-",$niss);
       if(is_numeric($aaaaaa) && is_numeric($bbb) && is_numeric($cc)) {
       return "$aaaaaa/$bbb/$cc";
       }
    }

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function nissFR($niss){
    return (implode('/',array_reverse (explode('-',$niss))));
    }

  3. #3
    Membre émérite Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Par défaut
    A la lecture du problème,
    j'ai pensé à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $string='123456-123-12';
    if (preg_match('/^[0-9]{6}-[0-9]{3}-[0-9]{2}$/',$string)) {
    	$string = str_replace('-','/',$string);
    	echo $string;
    } else {
    	echo "Le format de $string est incorrect.";
    }
    Mais, est-ce que j'ai bien compris ton souci ?
    Fred

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 54
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function nissFR($niss){
    return (implode('/',array_reverse (explode('-',$niss))));
    }
    Ca ne marche pas

    Pour info je récupère la chaîne à formater dans un tableau :

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Ce serait sans doute une bonne idée de préciser le format de départ et le format d'arrivée. Parce que là...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 54
    Par défaut
    Le format de départ est une chaîne de 11 caractères (uniquement des chiffres) et le format de sortie doit être xxxxxx-xxx-xx.

  7. #7
    Membre émérite Avatar de micetf
    Homme Profil pro
    Professeur des Ecoles
    Inscrit en
    Mai 2009
    Messages
    557
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Professeur des Ecoles
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2009
    Messages : 557
    Par défaut
    Citation Envoyé par Zarvox Voir le message
    Le format de départ est une chaîne de 11 caractères (uniquement des chiffres) et le format de sortie doit être xxxxxx-xxx-xx.
    Alors peut-être que cela fera l'affaire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $string='12345612312';
    if (preg_match('/^[0-9]{11}$/',$string)) {
    	$string = preg_replace('/([0-9]{6})([0-9]{3})([0-9]{2})/','$1-$2-$3',$string);
    	echo $string;
    } else {
    	echo "Le format de $string est incorrect.";
    }
    Fred

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Drupal] Développement module, fonction non fonctionnelle
    Par Holzhammer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 31/12/2014, 16h57
  2. Développer la fonction getenv()
    Par didiworld dans le forum C
    Réponses: 5
    Dernier message: 19/07/2012, 13h01
  3. Développer des fonctions scalaires (UDF) avec PLpgSQL
    Par SQLpro dans le forum Débuter
    Réponses: 1
    Dernier message: 20/06/2011, 11h09
  4. Développer des fonctions supplémentaires
    Par lvr dans le forum Visio
    Réponses: 6
    Dernier message: 06/08/2007, 21h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo