Récupérer la valeur de la variable au format chaîne

PHP cours tutorial

La fonction strval()

(PHP 4, PHP 5)

La fonction strval() récupère la valeur d'une variable, au format chaîne.

Syntaxe :

strval ( $var )

La fonction strval() récupère la valeur de la variable $var, au format chaîne de caractères.

Cette fonction n'effectue aucun formatage sur la valeur retournée (voir l’exemple 1). Si vous cherchez un moyen de formater une valeur numérique en chaîne de caractères, reportez-vous à la fonction  number_format().

Le paramètre $var est la variable à convertir en chaîne de caractères.

$var peut être un scalaire ou un objet implémentant la méthode magique __toString. Vous ne pouvez pas utiliser la fonction strval() avec des tableaux ou des objets qui n'implémentent pas la méthode magique __toString

 

La fonction strval() retourne la valeur de la variable $var sous la forme d'une chaîne de caractères.

 

Exemple 1:

 

<?php

$var=124;

// Affiche 'StrValTest'

var_dump(strval($var));

var_dump($var);

?>

 

Ce qui affiche :

string '124' (length=3)
int 124

 

Dans l’exemple 1 vous constatez que la variable $var garde toujours son type initial mais on peut récupérer sa valeur sous format chaîne de caractère par la fonction  strval() .

 

Exemple 2 : Exemple pour strval() utilisant la méthode magique __toString.

<?php

class StrValTest

{

    public function __toString()

    {

        return __CLASS__;

    }

}

 

// Affiche 'StrValTest'

echo strval(new StrValTest);

?>

 

 

Fonction qui lit les nombres entiers et les transforme en chaîne de caractères


 

Voici une fonction plus complexe qui n’a pas de rapport avec notre fonction strval(), mais qui lit et transforme les nombres entiers en chaîne de caractères et même si le nombre est négatif.

Testez la !

<?php

 

function int_to_words($x) {

   global $nwords;

 

   if(!is_numeric($x))

     $w = '#';

   else if(fmod($x, 1) != 0)

     $w = '#';

   else {

     if($x < 0) {

         $w = $nwords['minus'].' ';

         $x = -$x;

     } else

         $w = '';

 

     if($x < 21)  // 0 to 20

         $w .= $nwords[$x];

     else if($x < 100) {  // 21 to 99

         $w .= $nwords[10 * floor($x/10)];

         $r = fmod($x, 10);

         if($r > 0)

           $w .= '-'. $nwords[$r];

     } else if($x < 1000) {  // 100 to 999

         $w .= $nwords[floor($x/100)] .' '.$nwords['hundred'];

         $r = fmod($x, 100);

         if($r > 0)

           $w .= ' '.$nwords['separator'].' '. int_to_words($r);

     } else if($x < 1000000) {  // 1000 to 999999

         $w .= int_to_words(floor($x/1000)) .' '.$nwords['thousand'];

         $r = fmod($x, 1000);

         if($r > 0) {

           $w .= ' ';

           if($r < 100)

               $w .= $nwords['separator'].' ';

           $w .= int_to_words($r);

 

         }

     } else {    //  millions

         $w .= int_to_words(floor($x/1000000)) .' '.$nwords['million'];

         $r = fmod($x, 1000000);

         if($r > 0) {

           $w .= ' ';

           if($r < 100)

               $word .= $nwords['separator'].' ';

           $w .= int_to_words($r);

         }

     }

   }

   return $w;

}

 

 // Utilisation en anglais

$nwords = array( "zero", "one", "two", "three", "four", "five", "six", "seven",

                   "eight", "nine", "ten", "eleven", "twelve", "thirteen",

                   "fourteen", "fifteen", "sixteen", "seventeen", "eighteen",

                   "nineteen", "twenty", 30 => "thirty", 40 => "forty",

                   50 => "fifty", 60 => "sixty", 70 => "seventy", 80 => "eighty",

                   90 => "ninety" , "hundred" => "hundred", "thousand"=> "thousand", "million"=>"million",

                   "separator"=>"and", "minus"=>"minus");

 

echo 'There are currently <b>'. int_to_words(456) . '</b> members logged on.<br />';

 

 //Utilisation en Francais

$nwords = array( "zéro", "un", "deux", "trois", "quatre", "cinq", "six", "sept",

                   "huit", "neuf", "dix", "onze", "douze", "treize",

                   "quatorze", "quinze", "seize", "dix-sept", "dix-huit",

                   "dix-neuf", "vingt", 30 => "trente", 40 => "quarante",

                   50 => "cinquante", 60 => "soixante", 70 => "soixante-dix", 80 => "quatre-vingt",

                   90 => "quatre-vingt-dix" , "hundred" => "cent", "thousand"=> "mille", "million"=>"million",

                   "separator"=>"", "minus"=>"moins");

 

echo 'Il y a actuellement <b>'. int_to_words(32053) . ' </b>membres connectés.<br>';

?>



Cours precedent:
cours precedent  La fonction settype()

    Fonctions de manipulation des variables en PHP

 Cours suivant:
La fonction unserialize()   cours suivant

Par carabde 20 Aout 2014

  • Trafic Booster
    hebergement web

    SCREEBER - Logiciel de copywriting

    SCREEBER - Logiciel de copywriting Augmentez vos résultats en rejoignant les 1600 entrepreneurs qui utilisent Screeber®, le seul logiciel de Copywriting (en français) qui rédige avec vous des textes de vente qui convertissent


    HTML5, CSS3, JavaScript pour débutants Tome 1
    HTML5, CSS3, JavaScript
    pour débutants Tome 1

    Premier tome d'une série vidéo dédiée à l'apprentissage des langages HTML, CSS et JavaScript.

    Regarder aussi nos cours :

    php fonction date

    La fonction date

    CSS border-left

    Définit toutes les propriétés de bordure à gauche dans une déclaration

    code de js

    Le code de js : Découvrez comment utiliser et tirer le meilleur parti du langage JavScript et où mettre le code javascript dans une page web



    Rentabilisez efficacement votre site