M lange les caractères d'une chaîne de caractères
La fonction strval() sert à récupère la valeur d'une variable, au format chaîne de caractères
(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:
Exemple : 📋 Copier le code
<?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.
Exemple : 📋 Copier le code
<?php class StrValTest { public function __toString() { return __CLASS__; } } // Affiche 'StrValTest' echo strval(new StrValTest); ?>
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 !
Exemple : 📋 Copier le code
<?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 suivant: |